Class OutgoingFrame
- Namespace
- IceRpc
- Assembly
- IceRpc.dll
Represents the base class for outgoing frames.
public abstract class OutgoingFrame
- Inheritance
-
OutgoingFrame
- Derived
- Inherited Members
Properties
Payload
Gets or sets the payload of this frame.
public PipeReader Payload { get; set; }
Property Value
- PipeReader
The payload of this frame. Defaults to a PipeReader that returns an empty sequence.
Remarks
IceRPC completes the payload PipeReader with the Complete(Exception) method. It never calls CompleteAsync(Exception). The implementation of Complete(Exception) should not block.
PayloadContinuation
Gets or sets the payload continuation of this frame. The payload continuation is a continuation of Payload. The receiver cannot distinguish any seam between payload and payload continuation in the Payload it receives.
public PipeReader? PayloadContinuation { get; set; }
Property Value
- PipeReader
The payload continuation of this frame. Defaults to null meaning no continuation.
Remarks
IceRPC completes the payload continuation PipeReader with the Complete(Exception) method. It never calls CompleteAsync(Exception). The implementation of Complete(Exception) should not block.
Protocol
Gets the protocol of this frame.
public Protocol Protocol { get; }
Property Value
Methods
Use(Func<PipeWriter, PipeWriter>)
Installs a payload writer interceptor in this outgoing frame. This interceptor is executed just before sending Payload, and is typically used to compress both Payload and PayloadContinuation.
public OutgoingFrame Use(Func<PipeWriter, PipeWriter> payloadWriterInterceptor)
Parameters
payloadWriterInterceptor
Func<PipeWriter, PipeWriter>The payload writer interceptor to install.
Returns
- OutgoingFrame
This outgoing frame.
Remarks
IceRPC completes the payload writer PipeWriter with the Complete(Exception) method. It never calls CompleteAsync(Exception). The implementation of Complete(Exception) should not block.