Namespace DotBoxD.Services.Transport
Classes
- SingleConnectionServerTransport
Server transport that accepts one already-established connection.
- SingleConnectionTransport
Client transport over an already-established connection.
- StreamConnection
DotBoxD connection over a duplex stream, including named pipe streams.
Structs
- RpcFrame
Owns one received wire frame. The frame can be backed by the legacy Payload owner or by a pooled writer transferred by a low-allocation transport.
This is a value type and may be copied. Ownership of the underlying Payload or PooledBufferWriter transfers only through DetachPayload(); otherwise callers dispose it through Dispose(). Follow the boolean contract returned by
RpcPeerFrameProcessor.ShouldDisposeAsyncinsideRpcPeerReadLoop: true means the caller owns the frame, false means the read loop retained ownership (for example, aStreamItem). Both backing owners are idempotent, so double-dispose is safe.
Interfaces
- IRpcChannel
A duplex, framed, bidirectional channel — the transport unit a RpcPeer runs on. Responses flow back over the same channel, so it is always bidirectional even when the call direction is one-way. Transports return this directly; implement it to add a custom transport.
- IRpcFrameChannel
Optional low-allocation transport contract for channels that can transfer ownership of complete pooled frames instead of copying them into a new Payload.
- IRpcValueTaskChannel
Optional low-allocation transport contract for channels that can complete send/receive operations without allocating a Task for each frame.
- IServerTransport
Represents a server-side transport that accepts incoming connections.
- ITransport
Represents a transport layer for establishing connections.
Enums
- QueueFullMode
Controls what a bounded DotBoxD queue does when it is full.