Skip to content

Namespace DotBoxD.Services.Transport

RpcTransportExtensions

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.

RpcFrame

Owns one received wire frame. The frame can be backed by the legacy DotBoxD.Services.Buffers.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 `DotBoxD.Services.Buffers.Payload` or `DotBoxD.Services.Buffers.PooledBufferWriter` transfers only through `DotBoxD.Services.Transport.RpcFrame.DetachPayload`; otherwise callers dispose it through `DotBoxD.Services.Transport.RpcFrame.Dispose`. Follow the boolean contract returned by RpcPeerFrameProcessor.ShouldDisposeAsync inside RpcPeerReadLoop: true means the caller owns the frame, false means the read loop retained ownership (for example, a StreamItem). Both backing owners are idempotent, so double-dispose is safe.

IRpcChannel

A duplex, framed, bidirectional channel — the transport unit a DotBoxD.Services.Peer.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 DotBoxD.Services.Buffers.Payload.

IRpcValueTaskChannel

Optional low-allocation transport contract for channels that can complete send/receive operations without allocating a System.Threading.Tasks.Task for each frame.

IServerTransport

Represents a server-side transport that accepts incoming connections.

ITransport

Represents a transport layer for establishing connections.

QueueFullMode

Controls what a bounded DotBoxD queue does when it is full.