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);
 }
Example #5
0
 /// <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;
 }
Example #6
0
        private void Dispose()
        {
            if (this.nativeListener != null)
            {
                this.nativeListener.Dispose();
                this.nativeListener = null;
            }

            var disposableItem = this.messageHandler as IDisposable;

            if (null != disposableItem)
            {
                disposableItem.Dispose();
            }
        }