tractor/tractor
Tyler Goodlet 32f7742e53 Finally implement peer-lookup optimization..
There's a been a todo for soo long for this XD

Since all `Actor`'s store a set of `._peers` we can try a lookup on that
table as a shortcut before pinging the registry Bo

Impl deats:
- add a new `._discovery.get_peer_by_name()` routine which attempts the
  `._peers` lookup by combining a copy of that `dict` + an entry added
  for `Actor._parent_chan` (since all subs have a parent and often the
  desired contact is just that connection).
- change `.find_actor()` (for the `only_first == True` case),
  `.query_actor()` and `.wait_for_actor()` to call the new helper and
  deliver appropriate outputs if possible.

Other,
- deprecate `get_arbiter()` def and all usage in tests and examples.
- drop lingering use of `arbiter_sockaddr` arg to various routines.
- tweak the `Actor` doc str as well as some code fmting and a tweak to
  the `._stream_handler()`'s initial `con_status: str` logging value
  since the way it was could never be reached.. oh and `.warning()` on
  any new connections which already have a `_pre_chan: Channel` entry in
  `._peers` so we can start minimizing IPC duplications.
2025-03-24 14:04:52 -04:00
..
_testing Start a new `._testing.fault_simulation` 2025-03-24 14:04:51 -04:00
devx Further formalize `greenback` integration 2025-03-24 14:04:52 -04:00
experimental Drop now-deprecated deps on modern `trio`/Python 2025-03-16 16:06:24 -04:00
msg Quieter `Stop` handling on ctx result capture 2025-03-24 14:04:52 -04:00
trionics Refine some `.trionics` docs and logging 2025-03-24 14:04:52 -04:00
__init__.py Finally implement peer-lookup optimization.. 2025-03-24 14:04:52 -04:00
_child.py Hide `._entry`/`._child` frames, tweak some more type annots 2025-03-20 23:22:45 -04:00
_clustering.py Passthrough runtime kwargs from `open_actor_cluster()` 2022-12-11 19:56:08 -05:00
_context.py More-n-more scops annots in logging 2025-03-24 14:04:52 -04:00
_discovery.py Finally implement peer-lookup optimization.. 2025-03-24 14:04:52 -04:00
_entry.py More-n-more scops annots in logging 2025-03-24 14:04:52 -04:00
_exceptions.py More formal `TransportClosed` reporting/raising 2025-03-24 14:04:52 -04:00
_forkserver_override.py Re-license code base for distribution under AGPL 2021-12-14 23:33:27 -05:00
_ipc.py More formal `TransportClosed` reporting/raising 2025-03-24 14:04:52 -04:00
_mp_fixup_main.py Avoid importing mp for as long as possible 2022-02-17 11:55:26 -05:00
_multiaddr.py Fix doc string "its" typo.. 2025-03-20 19:50:31 -04:00
_portal.py More-n-more scops annots in logging 2025-03-24 14:04:52 -04:00
_root.py Further formalize `greenback` integration 2025-03-24 14:04:52 -04:00
_rpc.py More formal `TransportClosed` reporting/raising 2025-03-24 14:04:52 -04:00
_runtime.py Finally implement peer-lookup optimization.. 2025-03-24 14:04:52 -04:00
_spawn.py Use `._entry` proto-ed "lifetime ops" in logging 2025-03-24 14:04:52 -04:00
_state.py Further formalize `greenback` integration 2025-03-24 14:04:52 -04:00
_streaming.py Reraise RAEs in `MsgStream.receive()`; truncate tbs 2025-03-24 14:04:52 -04:00
_supervise.py Prep for legacy RPC API factor-n-remove 2025-03-24 14:04:52 -04:00
log.py Woops, set `.cancel()` level in custom levels table.. 2025-03-24 14:04:52 -04:00
to_asyncio.py Flip `infected_asyncio` status msg to `.runtime()` 2025-03-24 14:04:52 -04:00