Sat Jan 4 21:49:25 CET 2020
CSP in C
Rendezvous is too hard to implement, so use buffers.
See uc_tools/cbuf.h, optionally with both ends of the channel exposed
as separate types to make it clear if a channel is input or output for
the current "task".
A "task" is a C struct containing state variables and channel pointers.
Scheduling can usually be done in an ad-hoc fashion, using a
round-robin scheduler where each task defines its own poll routine.
sm.h style state machines could be used.
EDIT: Don't call this CSP if it's not rendez-vous!