correction scheduler et random delay dans canal)
This commit is contained in:
@@ -20,6 +20,10 @@ public class Afficheur implements ObserverdeCapteur {
|
||||
this.canalAsync = canal;
|
||||
}
|
||||
|
||||
public void setId(int id){
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
//AO1 - concrete servant
|
||||
@Override
|
||||
public void update(Capteur subject) {
|
||||
|
||||
@@ -5,10 +5,10 @@ import interfaces.CapteurAsync;
|
||||
import interfaces.ObserverDeCapteurAsync;
|
||||
import interfaces.ObserverdeCapteur;
|
||||
|
||||
import java.util.Random;
|
||||
import java.util.concurrent.Future;
|
||||
|
||||
public class Canal implements ObserverDeCapteurAsync, CapteurAsync {
|
||||
private int delay=1000;
|
||||
private Scheduler scheduler;
|
||||
private ObserverdeCapteur afficher;
|
||||
private Capteur capteur;
|
||||
@@ -22,12 +22,12 @@ public class Canal implements ObserverDeCapteurAsync, CapteurAsync {
|
||||
//AO1 - proxy
|
||||
@Override
|
||||
public Future<?> update(Capteur c) {
|
||||
return scheduler.enquete(new UpdateReq(capteur,afficher),delay);
|
||||
return scheduler.enquete(new UpdateReq(capteur,afficher),new Random().nextInt(1000)+500);
|
||||
}
|
||||
|
||||
//AO2 - proxy
|
||||
@Override
|
||||
public Future<Integer> getValue() {
|
||||
return scheduler.enquete(new GetValueReq(capteur),delay);
|
||||
return scheduler.enquete(new GetValueReq(capteur),new Random().nextInt(1000)+500);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,6 +10,10 @@ public class Scheduler {
|
||||
scheduler = Executors.newScheduledThreadPool(nThread);
|
||||
}
|
||||
|
||||
public ScheduledExecutorService getScheculer(){
|
||||
return this.scheduler;
|
||||
}
|
||||
|
||||
public <T> Future<T> enquete(Callable<T> task, long delay) {
|
||||
return scheduler.schedule(task, delay, TimeUnit.MICROSECONDS);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user