tractor/docs/api
Gud Boi d6da0e7a22 Wake broadcast peers on shared receive failures
Only `EndOfChannel` and direct cancellation woke tasks waiting
behind the subscriber which owned the underlying receive. Any other
failure cleared `BroadcastState.recv_ready` while peers remained
blocked on its unreachable event.

Publish ordinary receive exceptions as terminal broadcast state.
The owner keeps the original failure while peers drain retained
values and then raise `BroadcastReceiveError` from that cause. Also
wake peers on process-control exits without retaining them as state.

Document the public owner/peer contract and cover current, late and
control-flow subscribers with deterministic bounded regressions.

Prompt-IO: ai/prompt-io/opencode/20260812T030608Z_1095e7f7_prompt_io.md

(this patch was generated in some part by `opencode` using `gpt-5.6-sol` (`openai`))
2026-08-27 21:18:00 -04:00
..
context.rst Write the big boi docs content tree 2026-06-28 13:29:01 -04:00
core.rst Port docs off `run_in_actor` + `Portal.wait_for_result` 2026-08-25 19:16:21 -04:00
devx.rst Write the big boi docs content tree 2026-06-28 13:29:01 -04:00
discovery.rst Write the big boi docs content tree 2026-06-28 13:29:01 -04:00
errors.rst Write the big boi docs content tree 2026-06-28 13:29:01 -04:00
index.rst Showcase `to_actor.run()` across docs 2026-08-21 15:03:34 -04:00
ipc.rst Write the big boi docs content tree 2026-06-28 13:29:01 -04:00
msg.rst Write the big boi docs content tree 2026-06-28 13:29:01 -04:00
to_asyncio.rst Showcase `to_actor.run()` across docs 2026-08-21 15:03:34 -04:00
trionics.rst Wake broadcast peers on shared receive failures 2026-08-27 21:18:00 -04:00