Age | Commit message (Collapse) | Author |
|
|
|
How blocks mark themselves done has been one of the most annoying things in this development.
This done logic is only valuable for QA tests, it doesnt even exist in the practical use case.
How it works now:
* blocks mark done when sync inputs are done or all inputs are done
* removed the force_done input config, its no longer needed
* the wait() implementation gives blocks a grace period between
an input becoming done and the block itself becoming done.
After the grace period, the block is forced done.
|
|
|
|
This lets API calls like get_consumed/produced
keep their values until after work is called.
The propagate tags overload need this to work.
|
|
* post-work overhead now covers posting buffers downstream
* tag handler hpp code now inside task main c++ file
|
|
|
|
|
|
|
|
Rather than push the inlined buffer into the BufferQueue,
the output buffer queues wrapper explicitly supports
holding onto the inlined buffer.
This is because BufferQueue overloads generally do a token check
so they only accept buffers that they are in charge of.
fixes #79
|
|
This cleans up some code in block actor.
The message sending code is now in task_main,
and the consume routine is now the shared one.
|
|
|
|
|