Files
@ 7e100501dbde
Branch filter:
Location: CSY/reowolf/testdata/parser/positive/15.pdl - annotation
7e100501dbde
421 B
text/plain
continued refactor (safe state) connector internals are (mostly) read-only until the moment the round succeed, whereafter the changes to ports/connectors are committed by being folded in
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);
}
}
}
}
|