Delay Entities: Ping-Pong
message Init { ename id;};
message Ping { int originator; int trips;};
entity Delay(int myno, int mean_delay) {
ename next;
message Ping ping;
receive (Init i) next = i.id;
send Ping{myno,0} to next;
while (1)
receive (Ping temp) {
ping = temp;
if (ping.originator == myno)
ping.trips++;
hold(exp(mean_delay));
send ping to next;
}
}
entity driver() {
ename e1, e2;
setmaxclock(500);
e1 = new Delay(1,10);
e2 = new Delay(2,10);
send Init{e2} to e1;
send Init{e1} to e2;
}
Previous slide
Next slide
Back to first slide
View graphic version