Struct RpcFrame
Namespace: DotBoxD.Services.Transport
Assembly: DotBoxD.Services.dll
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.
public struct RpcFrame : IDisposableImplements
Section titled “Implements”Inherited Members
Section titled “Inherited Members”object.Equals(object), object.Equals(object, object), object.GetHashCode(), object.GetType(), object.ReferenceEquals(object, object), object.ToString()
Constructors
Section titled “Constructors”RpcFrame(Payload)
Section titled “ RpcFrame(Payload)”public RpcFrame(Payload payload)Parameters
Section titled “Parameters”payload Payload
RpcFrame(PooledBufferWriter)
Section titled “ RpcFrame(PooledBufferWriter)”public RpcFrame(PooledBufferWriter writer)Parameters
Section titled “Parameters”writer PooledBufferWriter
Properties
Section titled “Properties”Length
Section titled “ Length”public int Length { get; }Property Value
Section titled “Property Value”Memory
Section titled “ Memory”public ReadOnlyMemory<byte> Memory { get; }Property Value
Section titled “Property Value”Methods
Section titled “Methods”DetachPayload()
Section titled “ DetachPayload()”public Payload DetachPayload()Returns
Section titled “Returns”Dispose()
Section titled “ Dispose()”Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
public void Dispose()