internal FabricTransportServiceRemotingListener( ServiceContext serviceContext, IServiceRemotingMessageHandler serviceRemotingMessageHandler, ServiceRemotingMessageSerializersManager serializersManager, FabricTransportRemotingListenerSettings remotingListenerSettings = null ) { Requires.ThrowIfNull(serviceContext, "serviceContext"); this.listenAddress = serviceContext.ListenAddress; this.publishAddress = serviceContext.PublishAddress; var remotingSettings = remotingListenerSettings != null ? remotingListenerSettings : FabricTransportRemotingListenerSettings.GetDefault(); if (remotingSettings.EndpointResourceName.Equals(FabricTransportRemotingListenerSettings .DefaultEndpointResourceName)) { remotingSettings.EndpointResourceName = DefaultV2ListenerEndpointResourceName; } this.transportMessageHandler = new FabricTransportMessageHandler(serviceRemotingMessageHandler, serializersManager, serviceContext.PartitionId, serviceContext.ReplicaOrInstanceId); this.fabricTransportlistener = new FabricTransportListener(remotingSettings.GetInternalSettings(), remotingSettings.GetInternalSettings().GetListenerAddress(serviceContext), this.transportMessageHandler, new FabricTransportRemotingConnectionHandler()); }
private void Dispose() { if (this.nativeListener != null) { this.nativeListener.Dispose(); this.nativeListener = null; } }
private void Dispose() { if (this.fabricTransportlistener != null) { this.fabricTransportlistener.Dispose(); this.fabricTransportlistener = null; } this.transportMessageHandler.Dispose(); }
/// <summary> /// Constructs a fabric transport based service remoting listener. /// </summary> /// <param name="serviceContext"> /// The context of the service for which the remoting listener is being constructed. /// </param> /// <param name="messageHandler"> /// The handler for processing remoting messages. As the messages are received, /// the listener delivers them to this handler. /// </param> /// <param name="listenerSettings"> /// The settings to use for the listener. /// </param> public FabricTransportServiceRemotingListener( ServiceContext serviceContext, IServiceRemotingMessageHandler messageHandler, FabricTransportRemotingListenerSettings listenerSettings) { this.nativeListener = this.CreateNativeListener( listenerSettings, messageHandler, serviceContext); }
/// <summary> /// Constructs a fabric transport based service remoting listener with the specified /// <see cref="FabricTransportRemotingListenerSettings"/>. /// </summary> /// <param name="serviceContext"> /// The context of the service for which the remoting listener is being constructed. /// </param> /// <param name="messageHandler"> /// The handler for processing remoting messages. As the messages are received, /// the listener delivers them to this handler. /// </param> /// <param name="listenerSettings"> /// The settings to use for the listener. /// </param> public FabricTransportServiceRemotingListener( ServiceContext serviceContext, IServiceRemotingMessageHandler messageHandler, FabricTransportRemotingListenerSettings listenerSettings) { this.messageHandler = messageHandler; this.nativeListener = this.CreateNativeListener( listenerSettings, this.messageHandler, serviceContext); this.listenAddress = serviceContext.ListenAddress; this.publishAddress = serviceContext.PublishAddress; }
private void Dispose() { if (this.nativeListener != null) { this.nativeListener.Dispose(); this.nativeListener = null; } var disposableItem = this.messageHandler as IDisposable; if (null != disposableItem) { disposableItem.Dispose(); } }