34 lines
919 B
Java
34 lines
919 B
Java
package impl;
|
|
|
|
import interfaces.Capteur;
|
|
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 Scheduler scheduler;
|
|
private ObserverdeCapteur afficher;
|
|
private Capteur capteur;
|
|
|
|
public Canal(Capteur capteur, Scheduler scheduler, ObserverdeCapteur afficher) {
|
|
this.capteur = capteur;
|
|
this.scheduler = scheduler;
|
|
this.afficher = afficher;
|
|
}
|
|
|
|
//AO1 - proxy
|
|
@Override
|
|
public Future<?> update() {
|
|
return scheduler.enquete(new UpdateReq(this,afficher),new Random().nextInt(1000)+500);
|
|
}
|
|
|
|
//AO2 - proxy
|
|
@Override
|
|
public Future<Integer> getValue() {
|
|
return scheduler.enquete(new GetValueReq(capteur),new Random().nextInt(1000)+500);
|
|
}
|
|
}
|