1
0
Fork 0
tractor/tractor
Tyler Goodlet 0653a70f2b Add msg-from-dict constructor helper
Handy for re-constructing a struct-`MsgType` from a `dict` decoded from
wire-bytes wherein the msg failed to decode normally due to a field type
error but you'd still like to show the "potential" msg in struct form,
say inside a `MsgTypeError`'s meta data.

Supporting deats:
- add a `.msg.types.from_dict_msg()` to implement it (the helper).
- also a `.msg.types._msg_table: dict[str, MsgType]` for supporting this
  func ^ as well as providing just a general `MsgType`-by-`str`-name
  lookup.

Unrelated:
- Drop commented idea for still supporting `dict`-msg set via
  `enc/dec_hook()`s that would translate to/from `MsgType`s, but that
  would require a duplicate impl in the runtime.. so eff that XD
2025-03-24 14:04:51 -04:00
..
_testing Start a new `._testing.fault_simulation` 2025-03-24 14:04:51 -04:00
devx WIP porting runtime to use `Msg`-spec 2025-03-24 14:04:51 -04:00
experimental Drop now-deprecated deps on modern `trio`/Python 2025-03-16 16:06:24 -04:00
msg Add msg-from-dict constructor helper 2025-03-24 14:04:51 -04:00
trionics Drop now-deprecated deps on modern `trio`/Python 2025-03-16 16:06:24 -04:00
__init__.py Expose `MsgTypeError` from pkg 2025-03-24 14:04:51 -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 Start tidying up `._context`, use `pack_from_raise()` 2025-03-24 14:04:51 -04:00
_discovery.py More spaceless union type annots 2025-03-20 19:50:31 -04:00
_entry.py WIP porting runtime to use `Msg`-spec 2025-03-24 14:04:51 -04:00
_exceptions.py Unify `MsgTypeError` as a `RemoteActorError` subtype 2025-03-24 14:04:51 -04:00
_forkserver_override.py Re-license code base for distribution under AGPL 2021-12-14 23:33:27 -05:00
_ipc.py Refine `MsgTypeError` handling to relay-up-on-`.recv()` 2025-03-24 14:04:51 -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 Start tidying up `._context`, use `pack_from_raise()` 2025-03-24 14:04:51 -04:00
_root.py Add `enable_stack_on_sig: bool` for `stackscope` toggle 2025-03-20 23:22:45 -04:00
_rpc.py Relay `MsgTypeError`s upward in RPC loop via `._deliver_ctx_payload()` 2025-03-24 14:04:51 -04:00
_runtime.py Start tidying up `._context`, use `pack_from_raise()` 2025-03-24 14:04:51 -04:00
_spawn.py WIP porting runtime to use `Msg`-spec 2025-03-24 14:04:51 -04:00
_state.py Add defaul rtv for `use_greeback: bool = False` 2025-03-20 23:22:45 -04:00
_streaming.py Rename `Actor._push_result()` -> `._deliver_ctx_payload()` 2025-03-24 14:04:51 -04:00
_supervise.py Hide `._entry`/`._child` frames, tweak some more type annots 2025-03-20 23:22:45 -04:00
log.py Bleh, make `log.devx()` level less then cancel but > `.runtime()` 2025-03-20 23:22:45 -04:00
to_asyncio.py Provision for infected-`asyncio` debug mode support 2025-03-20 22:37:51 -04:00