Table of Contents

Interface IMultiplexedClientTransport

Namespace
IceRpc.Transports
Assembly
IceRpc.dll

A class to create outgoing multiplexed connections.

public interface IMultiplexedClientTransport

Properties

Default

Gets the default multiplexed client transport. It accepts transport names "quic" and "tcp"; a null transport name is equivalent to "quic".

public static IMultiplexedClientTransport Default { get; }

Property Value

IMultiplexedClientTransport

The default multiplexed client transport.

DefaultName

Gets the default transport name.

string DefaultName { get; }

Property Value

string

The transport accepts transport addresses that use this name as the TransportName. Some transports may accept additional names beyond this default.

Methods

CreateConnection(TransportAddress, MultiplexedConnectionOptions, SslClientAuthenticationOptions?)

Creates a new transport connection to the specified transport address.

IMultiplexedConnection CreateConnection(TransportAddress transportAddress, MultiplexedConnectionOptions options, SslClientAuthenticationOptions? clientAuthenticationOptions)

Parameters

transportAddress TransportAddress

The transport address to connect to.

options MultiplexedConnectionOptions

The multiplexed connection options.

clientAuthenticationOptions SslClientAuthenticationOptions

The SSL client authentication options.

Returns

IMultiplexedConnection

The new transport connection. This connection is not yet connected.

Remarks

The IceRPC core can call this method concurrently so it must be thread-safe.

IsSslRequired(string?)

Determines whether this transport requires SSL for the specified transport name.

bool IsSslRequired(string? transportName)

Parameters

transportName string

The transport name, or null which is equivalent to DefaultName.

Returns

bool

true if SSL is required; otherwise, false.

Exceptions

NotSupportedException

Thrown if transportName is not supported by this transport.