Files
@ 966ebed86908
Branch filter:
Location: CSY/reowolf/testdata/parser/positive/15.pdl - annotation
966ebed86908
421 B
text/plain
simplified the cyclic drainer because it was unnecessarily complex. added a unit test. added some future-proofing for corner case protocols
1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 1b7b852c3395 | #version
import std.reo;
composite main(out c) {
channel ao -> ai;
channel bo -> bi;
channel axo -> axi;
channel zo -> zi;
new sync(ai, bo);
new replicator(bi, {axo, c});
new consensus({axi, zi}, ao);
new generator(zo);
}
primitive generator(out z) {
while (true) {
synchronous (msg x) {
if (x == null) {
put(z, x);
assert !fires(x);
} else {
put(z, x);
assert fires(x);
}
}
}
}
|