tractor/tractor/ipc
Gud Boi 643e1c861b Complete IPC frames before sender cancellation
Cancellation inside `send_all()` can publish a partial frame. Closing
the actor-wide stream preserved framing but destroyed every context
on the channel and replaced primary errors with `TransportClosed`.

Deats,
- shield complete frame publication, then deliver pending
  cancellation
- keep the shared channel reusable after context-local cancellation
- absorb transport closure while reporting an unshippable overrun
- cover mid-frame cancellation and failed overrun error shipment

This deliberately defers cancellation until the current frame write
resolves; channel teardown remains the fallback for broken peers.

Prompt-IO: ai/prompt-io/opencode/20260819T234824Z_557065d8_prompt_io.md

(this patch was generated in some part by `opencode` using `gpt-5.6-sol` (`openai`))
2026-08-21 15:03:34 -04:00
..
__init__.py Move concrete `Address`es to each tpt module 2025-07-08 18:05:05 -04:00
_chan.py Harden inbound actor handshakes 2026-08-14 10:34:59 -04:00
_fd_share.py Move concrete `Address`es to each tpt module 2025-07-08 18:05:05 -04:00
_linux.py Address Copilot review nits on PR #462 2026-06-18 13:37:55 -04:00
_mp_bs.py Fix `SharedMemory` under `subint_forkserver` 2026-06-17 17:39:44 -04:00
_ringbuf.py Add buf_size to RBToken and add sender cancel test, move disable_mantracker to its own _mp_bs module 2025-07-08 12:57:28 -04:00
_server.py Fix Windows `import tractor` at the UDS root 2026-08-14 23:12:01 -04:00
_shm.py Fix `SharedMemory` under `subint_forkserver` 2026-06-17 17:39:44 -04:00
_tcp.py Keep lazy annotations runtime-resolvable 2026-08-12 20:52:15 -04:00
_transport.py Complete IPC frames before sender cancellation 2026-08-21 15:03:34 -04:00
_types.py Restore IPC transport style conventions 2026-08-17 19:37:44 -04:00
_uds.py Restore IPC transport style conventions 2026-08-17 19:37:44 -04:00