private IServiceRemotingClientFactory GetOrCreateServiceRemotingClientFactory(Type actorInterfaceType)
        {
            if (this.remotingClientFactory != null)
            {
                return(this.remotingClientFactory);
            }

            lock (this.thisLock)
            {
                if (this.remotingClientFactory == null)
                {
                    this.remotingClientFactory = this.CreateServiceRemotingClientFactory(actorInterfaceType);
                }
            }

            return(this.remotingClientFactory);
        }
        public CorrelatingServiceProxyFactory(Func <IServiceRemotingCallbackMessageHandler, IServiceRemotingClientFactory> createServiceRemotingClientFactory = null, OperationRetrySettings retrySettings = null, Action <CallSummary> raiseSummary = null, string remoteServiceName = null)
        {
            _serviceProxyFactory = new ServiceProxyFactory(
                (callbackClient) =>
            {
                if (createServiceRemotingClientFactory == null)
                {
                    return(new CorrelatingFabricTransportServiceRemotingClientFactory <TServiceInterface>(inner: null, raiseSummary: raiseSummary, remoteServiceName: remoteServiceName));
                }

                IServiceRemotingClientFactory innerClientFactory = createServiceRemotingClientFactory(callbackClient);

                if (innerClientFactory is CorrelatingFabricTransportServiceRemotingClientFactory <TServiceInterface> )
                {
                    return(innerClientFactory);
                }

                return(new CorrelatingFabricTransportServiceRemotingClientFactory <TServiceInterface>(inner: innerClientFactory, raiseSummary: raiseSummary, remoteServiceName: remoteServiceName));
            },
                retrySettings);
        }
Ejemplo n.º 3
0
        public CorrelatingServiceProxyFactory(Func <IServiceRemotingCallbackMessageHandler, IServiceRemotingClientFactory> createServiceRemotingClientFactory = null, OperationRetrySettings retrySettings = null)
        {
            _serviceProxyFactory = new ServiceProxyFactory(
                (callbackClient) =>
            {
                if (createServiceRemotingClientFactory == null)
                {
                    return(new CorrelatingFabricTransportServiceRemotingClientFactory(inner: null));
                }

                IServiceRemotingClientFactory innerClientFactory = createServiceRemotingClientFactory(callbackClient);

                if (innerClientFactory is CorrelatingFabricTransportServiceRemotingClientFactory)
                {
                    return(innerClientFactory);
                }

                return(new CorrelatingFabricTransportServiceRemotingClientFactory(inner: innerClientFactory));
            },
                retrySettings);
        }
Ejemplo n.º 4
0
        internal CorrelatingFabricTransportServiceRemotingClientFactory(
            FabricTransportRemotingSettings remotingSettings = null,
            IServiceRemotingCallbackMessageHandler remotingCallbackMessageHandler = null,
            IServicePartitionResolver servicePartitionResolver = null,
            IEnumerable <IExceptionHandler> exceptionHandlers  = null,
            string traceId = null,
            IServiceRemotingMessageSerializationProvider serializationProvider = null,
            IServiceRemotingClientFactory inner = null)
        {
            if (inner == null)
            {
                inner = new FabricTransportServiceRemotingClientFactory(
                    remotingSettings,
                    remotingCallbackMessageHandler,
                    servicePartitionResolver,
                    exceptionHandlers,
                    traceId,
                    serializationProvider);
            }

            _inner = inner;
        }
 public TrackingFabricTransportServiceRemotingClientFactory(IServiceRemotingClientFactory innerClientFactory)
 {
     _InnerClientFactory = innerClientFactory ?? throw new ArgumentNullException(nameof(innerClientFactory));
     _InnerClientFactory.ClientConnected    += OnClientConnected;
     _InnerClientFactory.ClientDisconnected += OnClientDisconnected;
 }
 public CustomTransportServiceRemotingClientFactory(IServiceRemotingClientFactory wrapped)
 {
     this._wrapped = wrapped ?? throw new ArgumentNullException(nameof(wrapped));
     this._wrapped.ClientConnected    += this.WrappedClientConnected;
     this._wrapped.ClientDisconnected += this.WrappedClientDisconnected;
 }
 public CustomServiceRemotingClientFactory(IServiceRemotingCallbackMessageHandler serviceRemotingCallbackMessageHandler)
 {
     _innerServiceRemotingClientFactory = new FabricTransportServiceRemotingClientFactory(
         RemotingSettings, remotingCallbackMessageHandler: serviceRemotingCallbackMessageHandler, serializationProvider: new ServiceRemotingJsonSerializationProvider());
 }
Ejemplo n.º 8
0
 public ServiceRemotingClientFactoryWrapper(IServiceRemotingClientFactory inner)
 {
     _inner           = inner;
     _telemetryClient = new TelemetryClient(TelemetryConfiguration.Active);
 }
Ejemplo n.º 9
0
 public CustomServiceRemotingClientFactory()
 {
     this.innerFactory = new FabricTransportServiceRemotingClientFactory();
     this.innerFactory.ClientConnected    += this.ClientConnected;
     this.innerFactory.ClientDisconnected += this.ClientDisconnected;
 }
 /// <summary>
 /// Creates a new instance
 /// </summary>
 /// <param name="serviceRemotingClientFactory"></param>
 /// <param name="customHeadersProvider"></param>
 public ExtendedServiceRemotingClientFactory(IServiceRemotingClientFactory serviceRemotingClientFactory, Func <CustomHeaders> customHeadersProvider)
 {
     this.serviceRemotingClientFactory = serviceRemotingClientFactory;
     this.customHeadersProvider        = customHeadersProvider;
 }
 /// <summary>
 /// Creates a new instance
 /// </summary>
 /// <param name="serviceRemotingClientFactory"></param>
 /// <param name="customHeaders"></param>
 public ExtendedServiceRemotingClientFactory(IServiceRemotingClientFactory serviceRemotingClientFactory, CustomHeaders customHeaders) :
     this(serviceRemotingClientFactory, () => customHeaders)
 {
 }
 public FabricTransportPipelineServiceRemotingClientFactory(IServiceRemotingClientFactory innerClientFactory)
 {
     this.innerFactory = innerClientFactory ?? throw new ArgumentNullException(nameof(innerClientFactory));
     this.innerFactory.ClientConnected    += this.OnClientConnected;
     this.innerFactory.ClientDisconnected += this.OnClientDisconnected;
 }
 public ServiceRemotingClientFactoryWrapper(IServiceRemotingClientFactory inner)
 {
     this._inner = inner;
     this._inner.ClientConnected    += _inner_ClientConnected;
     this._inner.ClientDisconnected += _inner_ClientDisconnected;
 }
Ejemplo n.º 14
0
 public ServiceRemotingClientFactoryWrapper(string traceId, IServiceRemotingClientFactory serviceRemotingClientFactory)
 {
     this.traceId = traceId;
     this.serviceRemotingClientFactory = serviceRemotingClientFactory;
 }
Ejemplo n.º 15
0
 public ActivityServiceRemotingClientFactory(IServiceRemotingClientFactory inner)
 {
     _inner = inner;
 }
Ejemplo n.º 16
0
 public OmexServiceRemotingClientFactory(IServiceRemotingClientFactory serviceRemotingClientFactory)
 {
     m_serviceRemotingClientFactory = serviceRemotingClientFactory;
     m_serviceRemotingClientFactory.ClientConnected    += ClientConnected;
     m_serviceRemotingClientFactory.ClientDisconnected += ClientDisconnected;
 }