Merge branch 'master' of https://gitlab.istic.univ-rennes1.fr/18008147/ntr
This commit is contained in:
commit
ab55f67f52
@ -44,39 +44,43 @@ public class AccessPoint {
|
|||||||
* @param duration
|
* @param duration
|
||||||
*/
|
*/
|
||||||
public void startSimulation(int duration, int nbUsers) {
|
public void startSimulation(int duration, int nbUsers) {
|
||||||
|
init(nbUsers);
|
||||||
for (int ticks = 0; ticks < duration; ++ticks) {
|
for (int ticks = 0; ticks < duration; ++ticks) {
|
||||||
// Simulation
|
// Simulation
|
||||||
reset();
|
reset();
|
||||||
init(nbUsers, ticks);
|
updateBandwidth(ticks);
|
||||||
schedule();
|
schedule();
|
||||||
// traite les données et les enregistre dans un fichier
|
// traite les données et les enregistre dans un fichier
|
||||||
analyseData();
|
analyseData();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void updateBandwidth(int ticks) {
|
||||||
|
int n = 200;
|
||||||
|
int timeInterval = 50 + new Random().nextInt(50);
|
||||||
|
for(User user : users) {
|
||||||
|
// On regénère le tableau de débits toutes les 50 ms
|
||||||
|
if(ticks % 50 == 0){
|
||||||
|
user.generateBandwidth();
|
||||||
|
}
|
||||||
|
|
||||||
|
// On regénère les sources toutes les 50-100 ms
|
||||||
|
if(ticks % timeInterval == 0){
|
||||||
|
n = user.createPackets(n);
|
||||||
|
timeInterval = 50 + new Random().nextInt(51);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Génération du débit et des paquets
|
* Génération du débit et des paquets
|
||||||
*/
|
*/
|
||||||
private void init(int nbUsers, int ticks) {
|
private void init(int nbUsers) {
|
||||||
int n = 200;
|
|
||||||
int timeInterval = 50 + new Random().nextInt(50);
|
|
||||||
|
|
||||||
// 2 groupes d'utilisateurs, proches et éloignés
|
// 2 groupes d'utilisateurs, proches et éloignés
|
||||||
double[] distance = { 200d, 1000d };
|
double[] distance = { 200d, 1000d };
|
||||||
for (int i = 0; i < distance.length; i++) {
|
for (int i = 0; i < distance.length; i++) {
|
||||||
for(int j = 0; j < nbUsers; j++){
|
for(int j = 0; j < nbUsers; j++){
|
||||||
User user = new User(distance[i], timeSlotNb, subCarrierNb);
|
User user = new User(distance[i], timeSlotNb, subCarrierNb);
|
||||||
|
|
||||||
// On regénère le tableau de débits toutes les 50 ms
|
|
||||||
if(ticks % 50 == 0){
|
|
||||||
user.generateBandwidth();
|
|
||||||
}
|
|
||||||
|
|
||||||
// On regénère les sources toutes les 50-100 ms
|
|
||||||
if(ticks % timeInterval == 0){
|
|
||||||
n = user.createPackets(n);
|
|
||||||
timeInterval = 50 + new Random().nextInt(51);
|
|
||||||
}
|
|
||||||
this.users.add(user);
|
this.users.add(user);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user