Namespace DotBoxD.Pushdown.Services
Classes
Section titled “Classes”PluginConnectionHost<TConnection>
Accepts ONE plugin connection and owns the per-connection trust-boundary lifecycle: it listens for the
connecting peer, mints a DotBoxD.Plugins.PluginSession for it, runs configure to provision that peer
(provide host services over the session and return the per-connection object callers await), and
disposes the session — revoking and unregistering the kernels that peer owned — when the peer
disconnects OR the host is stopped/disposed.
This is the per-connection IPC ceremony every plugin host used to hand-write. Forgetting the
dispose-on-disconnect step silently leaks a peer's kernels, so the framework owns it; the host is left with
only the genuinely connection-specific work of choosing which services to provide. The helper is opt-in:
everything it does is reproducible with public API (`DotBoxD.Pushdown.Services.RpcMessagePackIpc.Listen(DotBoxD.Services.Transport.IServerTransport,System.Action{DotBoxD.Services.Peer.RpcPeer},DotBoxD.Services.Peer.RpcPeerOptions)` /
`DotBoxD.Plugins.PluginServer.CreateSession` / peer.Provide / peer.Disconnected).