v1.7.0
Added
-
Shared Router Architecture for Event Loops
- Single
py_event_routerprocess handles all event loops (both shared and isolated) - Timer and FD messages include loop identity for correct dispatch
- Eliminates need for per-loop router processes
- Handle-based Python C API using PyCapsule for loop references
- Single
-
Isolated Event Loops - Create isolated event loops with
ErlangEventLoop(isolated=True)- Default (
isolated=False): uses the shared global loop managed by Erlang - Isolated (
isolated=True): creates a dedicated loop with its own pending queue - Full asyncio support (timers, FD operations) for both modes
- Useful for multi-threaded Python applications where each thread needs its own loop
- See
docs/asyncio.mdfor usage and architecture details
- Default (