Commit Graph

9 Commits (2901049b5b3229b37f6a0de40a06be9d4509350e)

Author SHA1 Message Date
Guillermo Rodriguez 2901049b5b
Improve test_ringbuf test, drop MsgTransport ring buf impl for now in favour of a trio.abc.Channel[bytes] impl, add docstrings 2025-03-18 13:19:40 -03:00
Guillermo Rodriguez 5cec4ee943
Switch `tractor.ipc.MsgTransport.stream` type to `trio.abc.Stream`
Add EOF signaling mechanism
Support proper `receive_some` end of stream semantics
Add StapledStream non-ipc test
Create MsgpackRBStream similar to MsgpackTCPStream for buffered whole-msg reads
Add EventFD.read cancellation on EventFD.close mechanism using cancel scope
Add test for eventfd cancellation
Improve and add docstrings
2025-03-16 23:57:26 -03:00
Guillermo Rodriguez d6721f06df
Better encapsulate RingBuff ctx managment methods and support non ipc usage
Add trio.StrictFIFOLock on sender.send_all
Support max_bytes argument on receive_some, keep track of write_ptr on receiver
Add max_bytes receive test test_ringbuf_max_bytes
Add docstrings to all ringbuf tests
Remove EFD_NONBLOCK support, not necesary anymore since we can use abandon_on_cancel=True on trio.to_thread.run_sync
Close eventfd's after usage on open_ringbuf
2025-03-16 17:50:13 -03:00
Guillermo Rodriguez ea27934eb9
Add buf_size to RBToken and add sender cancel test, move disable_mantracker to its own _mp_bs module 2025-03-14 00:25:10 -03:00
Guillermo Rodriguez dd17aa4205
Make ring buf api use pickle-able RBToken 2025-03-13 23:41:53 -03:00
Guillermo Rodriguez b6bc57c4e0
Handle cancelation on EventFD.read 2025-03-13 22:43:02 -03:00
Guillermo Rodriguez 8cd1bf377a
Move linux specifics from tractor.ipc._shm into tractor.ipc._linux 2025-03-13 21:10:23 -03:00
Guillermo Rodriguez 41e84cc701
Move tractor._shm to tractor.ipc._shm 2025-03-13 21:02:16 -03:00
Guillermo Rodriguez c5ae3a767e
General improvements
EventFD class now expects the fd to already be init with open_eventfd
RingBuff Sender and Receiver fully manage SharedMemory and EventFD lifecycles, no aditional ctx mngrs needed
Separate ring buf tests into its own test bed
Add parametrization to test and cancellation
Add docstrings
Add simple testing data gen module .samples
2025-03-13 21:02:14 -03:00