MaxSnr v1

This commit is contained in:
Tr1xt4n 2023-03-10 11:57:08 +01:00
commit f43d89a818
3 changed files with 38 additions and 7 deletions

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -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,26 +8,44 @@ 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++;