MaxSnr v1
This commit is contained in:
commit
f43d89a818
@ -92,7 +92,12 @@ public class AccessPoint {
|
||||
public ResourceBlock[][] getFrame() {
|
||||
return frame;
|
||||
}
|
||||
public void setFrame(ResourceBlock[][] frame) {
|
||||
this.frame = frame;
|
||||
|
||||
public static int getTimeSlotNb() {
|
||||
return timeSlotNb;
|
||||
}
|
||||
|
||||
public static int getSubCarrierNb() {
|
||||
return subCarrierNb;
|
||||
}
|
||||
}
|
||||
|
@ -8,4 +8,12 @@ public class ResourceBlock {
|
||||
this.user = user;
|
||||
this.bandwith = bandwith;
|
||||
}
|
||||
|
||||
public void setUser(User user) {
|
||||
this.user = user;
|
||||
}
|
||||
|
||||
public void setBandwith(double bandwith) {
|
||||
this.bandwith = bandwith;
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
package fr.ntr.scheduler;
|
||||
import java.util.List;
|
||||
import fr.ntr.UserGroup;
|
||||
import fr.ntr.User;
|
||||
|
||||
|
||||
public class RoundRobin extends Scheduler {
|
||||
@ -8,29 +8,47 @@ public class RoundRobin extends Scheduler {
|
||||
private String name;
|
||||
private int index;
|
||||
|
||||
public RoundRobin(String name, int index) {
|
||||
private List<User> users;
|
||||
private ResourceBlock[][] frame;
|
||||
|
||||
public RoundRobin(String name, int index, List<User> users, ResourceBlock[][] frame ) {
|
||||
this.name = name;
|
||||
this.index = index;
|
||||
this.users = users;
|
||||
this.frame = frame;
|
||||
}
|
||||
|
||||
/**
|
||||
* Entry
|
||||
* Rempli la trame avec les utilisateurs
|
||||
* Return
|
||||
*/
|
||||
@Override
|
||||
public void scheduling() {
|
||||
index = 0;
|
||||
Random random = new Random();
|
||||
index = random.nextInt(users.size()-1);
|
||||
|
||||
for (int Ts = 0; Ts < AccessPoint.getTimeSlotNb(); Ts++) {
|
||||
for(int Sp = 0; Sp < AccessPoint.getSubCarrierNb(); Sp++) {
|
||||
|
||||
if (users.get(index).getPacketsToSend() == null) {
|
||||
users.remove(index);
|
||||
}
|
||||
frame[Ts][Sp].setUser(UserSelection(Ts, Sp, users));
|
||||
|
||||
//AccessPoint.setFrame[Ts][Sp]();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Entry Time slot (int), Sous porteuse(int), and users ( List<User>)
|
||||
* Return the user in function of TS and SP selected
|
||||
*/
|
||||
private UserGroup UserSelection(int Ts, int Sp, UserGroup Users) {
|
||||
private User UserSelection(int Ts, int Sp, List<User> Users) {
|
||||
for (int i = 0; i < Ts; i++) {
|
||||
for (int j = 0; j < Sp; j++) {
|
||||
index++;
|
||||
index++;
|
||||
}
|
||||
}
|
||||
return Users.get(index%(Users.size() - 1));
|
||||
|
Reference in New Issue
Block a user