Skip to content

IPC subsys refinements: connection-tracking, multi-proto-endpoint-mgmt.. etc. #382

@goodboy

Description

@goodboy

In follow-through from bullets collected out of #375 and #380, here
are some outstanding refined-impl-ideas for the machinery in
tractor.ipc._server which could, at the least, improve devx when
debugging (eventual) multi-tpt-proto enabled actor trees as well as
mk always maintaining a root-actor micro-registry of its subs simpler
to grok.


Potential internals improvements / feats extension

  • fill out the .ipc._server.Server.peer_tpt tables
    (implicitly) by pre-hooking into the new Endpoint (class)
    method which first registers every MsgTransport/Channel prior
    to processing and handover to the RPC layer.

    • ideally in a way that let's us granular-ly know which peers
      are on which transports and which .stream_handler_tn: Nurserys
      so we can eventually do fancy stuff like connection resetting,
      peer filtering, dynamic transport-proto swapping etc.
  • multiple-transports in tandem (eventually per actor) by first ensuring
    the server layer is correct before exposing upward via
    enable_transports: list[str] to runtime-booting
    entrypoints (open_nursery()/open_root_actor()).

Test suite continuations

  • more tractor.ipc unit-ish/subsys suites?
    • ipc._server.Server + low-level client connection testing,
      likely via a manual bg ipc._chan._connect_chan() connection?

Metadata

Metadata

Assignees

Labels

IPC and transportdevx-tooling"developer experience" improvements as provided `tractor.devx` for runtime dependents.testing

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions