Namespace DotBoxD.Pushdown.Services
Classes
- PluginConnectionHost<TConnection>
Accepts ONE plugin connection and owns the per-connection trust-boundary lifecycle: it listens for the connecting peer, mints a PluginSession for it, runs
configureto 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 (Listen(IServerTransport, Action<RpcPeer>, RpcPeerOptions?) / CreateSession() /
peer.Provide/peer.Disconnected).