Class MultiplexedConnectionOptions
- Namespace
- IceRpc.Transports
- Assembly
- IceRpc.dll
A property bag used to configure a IMultiplexedConnection.
public record MultiplexedConnectionOptions : IEquatable<MultiplexedConnectionOptions>
- Inheritance
-
MultiplexedConnectionOptions
- Implements
- Inherited Members
Properties
HandshakeTimeout
Gets or sets the minimum amount of time the multiplexed transport must allow for a connection establishment handshake to complete.
public TimeSpan HandshakeTimeout { get; set; }
Property Value
- TimeSpan
The handshake timeout. The default is 10 seconds.
Remarks
The caller is expected to cancel a connection establishment attempt after its own "connect timeout". As a result, a multiplexed transport implementation may choose to always provide an infinite handshake timeout, regardless of the value of this option.
MaxBidirectionalStreams
Gets or sets the maximum allowed number of simultaneous remote bidirectional streams that can be opened.
public int MaxBidirectionalStreams { get; set; }
Property Value
- int
The maximum number of remote bidirectional streams. Defaults to
100.
MaxUnidirectionalStreams
Gets or sets the maximum allowed number of simultaneous remote unidirectional streams that can be opened.
public int MaxUnidirectionalStreams { get; set; }
Property Value
- int
The maximum number of remote unidirectional streams. Defaults to
100.
MinSegmentSize
Gets or sets the minimum size of the segment requested from the Pool.
public int MinSegmentSize { get; set; }
Property Value
Pool
Gets or sets the MemoryPool<T> object used for buffer management.
public MemoryPool<byte> Pool { get; set; }
Property Value
- MemoryPool<byte>
A pool of memory blocks used for buffer management. Defaults to Shared.
Remarks
Some multiplexed transports require the pool to return array-backed memory blocks. Slic over TCP does, because Slic's write buffers are allocated from this pool and passed down to the TCP transport, whose multi-segment write path uses SendAsync(IList<ArraySegment<byte>>, SocketFlags). The QUIC transport has no such requirement.