Warning: session_start(): open(/var/lib/php/sessions/sess_ne94vs8u93eq3hf3j8pp6f9hkb, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
srecord noeq StupidFib_collab(ICollab collab, int n) {
double timeout = 10.0;
settable int msDelayPerAdd = 1; // milliseconds
record noeq Step(int n, LongConsumer continuation) is Runnable {
run {
if (n < 3) ret with continuation.accept(1L);
LongPairCollector collector = new {
void complete(long a, long b) {
continuation.accept(add(a, b));
}
};
collab.addWork(new Step(n-1, collector.setterForA()));
collab.addWork(new Step(n-2, collector.setterForB()));
}
}
long get() {
new Var var;
collab.addWork(new Step(n, result -> {
var.set(result);
collab.done();
}));
collab.run();
ret waitForVarToBeNotNullWithTimeout(var, secondsToMS_int(timeout));
}
long add(long a, long b) {
sleep(msDelayPerAdd);
ret a+b;
}
}