Share via


RealTimeConnectionManager Members

Include Protected Members
Include Inherited Members

Provides connection management, message dispatching, and other miscellaneous services to endpoints.

The RealTimeConnectionManager type exposes the following members.

Constructors

  Name Description
Protected method RealTimeConnectionManager() Initializes the instance with default localhost name and no certificates.
Protected method RealTimeConnectionManager(String) Initializes a new instance of this class from localHost.
Protected method RealTimeConnectionManager(String, []) Initializes an instance of this class from the certificate information.
Protected method RealTimeConnectionManager(String, String, []) Initializes an instance of this class from localHost and the certificate information.

Top

Properties

  Name Description
Public property ConnectionThrottlingHighMark Gets or sets the high water mark for all connections. When number of outstanding transactions on a 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.
Public property ConnectionThrottlingLowMark Gets or sets the low water mark for all connections. When number of outstanding transactions on a 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.
Public property DnsLoadBalancingDisabled Gets or sets whether DNS load balancing is disabled. By default, DNS load balancing is enabled.
Public property EndpointsCount Gets the number of endpoints currently supported by this manager.
Public property LocalCertificateIssuerName Gets the issuer of the local certificate used. Can be null.
Public property LocalHostName Gets the fully qualified local host name. This is either the local fully-qualified domain name (FQDN), if the certificate is not used, or the host in the certificate, or the value set by the application.
Public propertyStatic member MaxHeaderNameLength Gets or sets the maximum length for SignalingHeader Name.
Public propertyStatic member MaxHeaderValueLength Gets or sets the maximum length for SignalingHeader Value.
Public propertyStatic member MaxMessageBodyLength Gets or sets the maximum length of message body on SIP message
Public propertyStatic member MaxParameterCount Gets or sets the maximum number of parameters allowed on signaling header or URI.
Public property StrictDispatching Gets or sets whether incoming messages are routed to the hosted endpoints by this connection manager. By default, this flag is false. This flag is used only when there is only one peer-to-peer endpoint hosted by the connection manager. Normally, incoming messages are routed to the endpoint only when the [To] header URI and epid (if any) match those of the endpoint. If this flag is set, the message is routed to the single peer-to-peer endpoint ignoring the [To] header values. In this case, it is the responsibility of the endpoint or application using the endpoint to handle the situation appropriately.

Top

Methods

  Name Description
Protected method CanLocalHostBeChangedNow Gets the value indicating whether localhost can be changed now.
Protected method CanShutdownCoreManagerNow Get the value to determine if the core manager can be shutdown now.
Protected method CleanUpConnections This method is called to cleanup connections.
Protected method CoreManagerIncomingTlsNegotiationFailed This event callback is invoked when there is tls negotiation failure for incoming connection. Since this class does not listen, this method will do nothing by default.
Protected method DecrementThrottleCount Method to be called after the application is notified of the incoming message (Invite, Message etc) that was in internal queue or when it is rejected. This will decrement the current outstanding count.
Public method Dispose() Releases the resources used by the connection manager. The application can call this method to dispose the connection manager when it is no longer needed. Once the resources are released, the connection manager and the associated endpoints are not usable.
Protected method Dispose(Boolean) Disposes connection manager.
Public method Equals (inherited from Object)
Protected method Finalize Finalizer (Overrides Object.Finalize().)
Public method GetConnectionPools Gets the list of connection pools in this connection manager.
Protected method GetDestinationTuple Get the tuple needed to make the connection.
Public method GetHashCode (inherited from Object)
Public method GetLocalCertificateSerialNumber Gets the serial number of the local certificate used. Can be null.
Public method GetType (inherited from Object)
Protected method IncomingConnectionConnected Handles incoming connection connected event. This class should not get this event since it is not listening but a subclass can.
Protected method IncrementThrottleCount Method to be called when the application places an incoming message (Invite, Message etc) in an internal queue. This will increment the current outstanding count.
Protected method IsThrottlingInEffect Method that determines if the incoming message should be throttled or not. If throttling is in effect, it should be rejected automatically.
Protected method MemberwiseClone (inherited from Object)
Protected method SetDefaultTlsTuple Set the default TlsCredentials for the core manager. This might be used by S4 when it needs Tls tuple for outgoing connection and one was not provided to it directly.
Public method SetLocalCertificate Sets the local certificate information. This is used for mutual TLS authentication when needed. If the mutual TLS is not used, there is no need to set these values. The certificate is retrieved from the certificate store on the local computer.
Public method ToString (inherited from Object)

Top

Events

  Name Description
Public event ConnectionPoolAdded A connection pool was added.
Public event ConnectionPoolRemoved A connection pool was removed.

Top

See Also

Reference

RealTimeConnectionManager Class

Microsoft.Rtc.Signaling Namespace