From 76183acdeea909e9eb30e80b24fe77a0671e8d3b Mon Sep 17 00:00:00 2001 From: Quentin Legot Date: Fri, 17 Mar 2023 09:43:32 +0100 Subject: [PATCH] Move init to avoid re-creating users every time --- src/main/java/fr/ntr/AccessPoint.java | 36 +++++++++++++++------------ 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/src/main/java/fr/ntr/AccessPoint.java b/src/main/java/fr/ntr/AccessPoint.java index b6f49d6..4db8c1e 100644 --- a/src/main/java/fr/ntr/AccessPoint.java +++ b/src/main/java/fr/ntr/AccessPoint.java @@ -44,39 +44,43 @@ public class AccessPoint { * @param duration */ public void startSimulation(int duration, int nbUsers) { + init(nbUsers); for (int ticks = 0; ticks < duration; ++ticks) { // Simulation reset(); - init(nbUsers, ticks); + updateBandwidth(ticks); schedule(); // traite les données et les enregistre dans un fichier 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 */ - private void init(int nbUsers, int ticks) { - int n = 200; - int timeInterval = 50 + new Random().nextInt(50); - + private void init(int nbUsers) { // 2 groupes d'utilisateurs, proches et éloignés double[] distance = { 200d, 1000d }; for (int i = 0; i < distance.length; i++) { for(int j = 0; j < nbUsers; j++){ 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); } }