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 getValue() { return scheduler.enquete(new GetValueReq(capteur),new Random().nextInt(1000)+500); } }