forked from goodboy/tractor
Namely transferring the `Actor` peer-`Channel` tracking attrs,
- `._peers` which maps the uids to client channels (with duplicates
apparently..)
- the `._peer_connected: dict[tuple[str, str], trio.Event]` child-peer
syncing table mostly used by parent actors to wait on sub's to connect
back during spawn.
- the `._no_more_peers = trio.Event()` level triggered state signal.
Further we move over with some minor reworks,
- `.wait_for_peer()` verbatim (adjusting all dependants).
- factor the no-more-peers shielded wait branch-block out of
the end of `async_main()` into 2 new server meths,
* `.has_peers()` with optional chan-connected checking flag.
* `.wait_for_no_more_peers()` which *just* does the
maybe-shielded `._no_more_peers.wait()`
|
||
|---|---|---|
| .. | ||
| devx | ||
| __init__.py | ||
| conftest.py | ||
| test_2way.py | ||
| test_advanced_faults.py | ||
| test_advanced_streaming.py | ||
| test_cancellation.py | ||
| test_child_manages_service_nursery.py | ||
| test_clustering.py | ||
| test_context_stream_semantics.py | ||
| test_discovery.py | ||
| test_docs_examples.py | ||
| test_ext_types_msgspec.py | ||
| test_infected_asyncio.py | ||
| test_inter_peer_cancellation.py | ||
| test_legacy_one_way_streaming.py | ||
| test_local.py | ||
| test_multi_program.py | ||
| test_pldrx_limiting.py | ||
| test_pubsub.py | ||
| test_resource_cache.py | ||
| test_ringbuf.py | ||
| test_root_infect_asyncio.py | ||
| test_root_runtime.py | ||
| test_rpc.py | ||
| test_runtime.py | ||
| test_shm.py | ||
| test_spawning.py | ||
| test_task_broadcasting.py | ||
| test_trioisms.py | ||