Edit

Share via


RealTimeConnection Class

Definition

Represents an outgoing connection used by the endpoints. The connection itself does not know with which endpoint it is associated.

public ref class RealTimeConnection
public class RealTimeConnection
type RealTimeConnection = class
Public Class RealTimeConnection
Inheritance
RealTimeConnection

Properties

ApplicationContext

Gets or sets the application context object.

ConnectionPool

Gets the connection pool for this connection. This can be null if the connection does not belong to a pool. For example, incoming connections do not belong to a pool.

ConnectionThrottlingHighMark

Gets or sets the high water mark for this connection. When number of outstanding transactions on this connection exceeds the high water mark, the connection is throttled until it goes below the low water mark. When the connection is throttled, send/receive will fail. Responses, however, can be sent to bring the level down. Outstanding outgoing transactions that are pending will timeout. The connection buffer is not processed until the outstanding transactions count falls below the low water mark. This value cannot be set below the low water mark. By default, this value is int.MaxValue. If both water mark levels are set to int.MaxValue, the connection throttling is disabled.

ConnectionThrottlingLowMark

Gets or sets the low water mark for this connection. When number of outstanding transactions on this connection exceeds the high water mark, the connection is throttled until it goes below the low water mark. When the connection is throttled, send/receive will fail. Responses, however, can be sent to bring the level down. Outstanding outgoing transactions that are pending will timeout. The connection buffer is not processed until the outstanding transactions count falls below the low water mark. This value cannot be set above the high water mark. By default, this value is int.MaxValue. If both water mark levels are set to int.MaxValue, the connection throttling is disabled.

ConnectionTimeout

Gets or sets the connection idle timeout value. If the connection is idle for the duration specified by this value, the connection will be disconnected. To disable, the value can be set to TimeSpan.Zero.

IsConnected

Gets the value indicating whether the connection is connected.

IsConnectionThrottled

Gets the value indicating if the connection is throttled. If throttling is enabled, then a connection can be throttling based on the load. The application can refrain from sending more traffic using this connection until this connection gets out of throttling mode. For example, a signaling session caches a connection it uses for outgoing messages. If the corresponding connection is throttled, the application can refrain from sending more messages on that session until the connection is no longer throttled.

IsIncomingConnection

Gets the value indicating if the connection is incoming or outgoing.

LocalEndpoint

Gets the local endpoint of this connection. This is valid only when the connection is connected.

MatchingDomainName

Gets the domain string from the allowed domains list that matched the certificate.

ProtocolName

Gets the name of the protocol used for this connection, TCP or TLS.

RefCount

Gets the current reference count. This indicates the number of components (page mode message, signaling session, subscription etc.) across endpoints that are currently caching and using this connection. The reference count is used only for outgoing shared connections in a pool.

RemoteCertificate

Gets the remote certificate used for this connection.

RemoteEndpoint

Gets the remote endpoint of this connection. This is valid only when the connection is connected.

Methods

Disconnect()

Disconnects a connection that is currently connected. If the connection does not exist, or it is not connected, this method does nothing.

ToString()

Converts to a string representation of the instance. The local or remote endpoint addresses can be Unknown if the connection is not in connected state.

Events

ThrottlingStateChanged

Raised when there is a change in connection throttling state. When this event is raised, the application can check the property IsConnectionThrottled to determine if the connection is throttled or not.

Applies to