forked from goodboy/tractor
5c70b4824f
Command requests are sent out and responses are handled in a "message loop" where each command is associated with a "caller id" and multiple cmds and results are multiplexed on the came inter-actor channel. When a cmd result arrives it is pushed into a local queue and delivered to the appropriate calling actor's task. Errors from a remote actor are always shipped in an "error" packet back to their spawning-parent actor such that any error in a subactor is always raised directly in the parent. Based on the first response to a cmd (either a 'return' or 'yield' packet) the caller side portal will retrieve values by wrapping the local response queue in either of an async function or generator as appropriate. |
||
---|---|---|
.. | ||
ipc.py | ||
tractor.py |