public AsyncProcessingNetChannel(Func<IMessageProcessingPipeBuilder, IMessageProcessingPipeBuilder> configureProcesssingPipe, INetNode node,
     ITransportChannel transportChannel, IMessageSerializer serializer, ICoreEvents logger, INetNodeConfig config, IBufferPool bufferPool)
     : base(node, transportChannel, serializer, logger, config, bufferPool)
 {
     _pipeBuilder = configureProcesssingPipe(new MessageProcessingPipeBuilder());
     _processor = _pipeBuilder.Build();
 }
 public ChatClientNetChannel(IActorSystem<IRoomActor> rooms, ICallbacksGatewayNode callbacksNode, INetNode node,  
     ITransportChannel transportChannel, IMessageSerializer serializer, ICoreEvents logger, INetNodeConfig config, IBufferPool bufferPool) 
     : base(node, transportChannel, serializer, logger, config, bufferPool)
 {
     _rooms = rooms;
     _callbacksNode = callbacksNode;
 }
        public NetChannel(INetNode node, ITransportChannel transportChannel, IMessageSerializer serializer, ICoreEvents logger, INetNodeConfig config, IBufferPool bufferPool)
        {
            _onOperationSubject          = new Subject <OperationContext>();
            _onDisconnectedSubject       = new Subject <INetChannel>();
            PendingOperationsByRequestId = new ConcurrentDictionary <Guid, PendingOperation>();

            TransportChannel = transportChannel;
            var metricContext = Metric.Context(node.InstanceName);

            _receivedMessagesMeter = metricContext.Meter("ReceivedMessagesMeter", Unit.Requests);
            _sentMessagesMeter     = metricContext.Meter("SentMessagesMeter", Unit.Requests);
            _requestsMeter         = metricContext.Meter("SentRequestsMeter", Unit.Requests);
            _requestsFailedMeter   = metricContext.Meter("SentRequestsFailedMeter", Unit.Requests);
            _requestDurationTimer  = metricContext.Timer("SentRequestsDurationTimer", Unit.Requests, durationUnit: TimeUnit.Milliseconds);


            Node        = node;
            Logger      = logger;
            _config     = config;
            _bufferPool = bufferPool;

            MessageSerializer = serializer;
            IsConnected       = true;
            transportChannel.Bind(ProcessIncomingRequest, Dispose);
        }
 public CallbacksGatewayNode(string name, INetProvider net, ICoreEvents coreLogger, IMessageSerializer messageSerializer,
                             INetNodeConfig config, IBufferPool bufferPool, IPEndPoint publicAddress = null)
     : base(name, net, coreLogger, messageSerializer, null, config, publicAddress)
 {
     ChannelFactory = (node, transport) =>
     {
         var channel = new NetChannel(node, transport, messageSerializer, coreLogger, config, bufferPool);
         channel.OperationReceivedEvent.Subscribe(ProcessCallbackMessage);
         return(channel);
     };
 }
Beispiel #5
0
        public NetNode(string name, INetProvider net, ICoreEvents logger, IMessageSerializer messageSerializer, Func <INetNode, ITransportChannel, TNetChannel> channelFactory, INetNodeConfig config,
                       IPEndPoint publicAddress = null)
        {
            _config           = config;
            _publicAddress    = publicAddress;
            _logger           = logger;
            InstanceName      = name;
            Net               = net;
            MessageSerializer = messageSerializer;

            ChannelFactory = channelFactory;

            var metricsContext = Metric.Context(name);

            _netChannelsConnectedMeter    = metricsContext.Meter("NetChannelsConnected", Unit.Custom("Channels"));
            _netChannelsDisconnectedMeter = metricsContext.Meter("NetChannelsDisconnected", Unit.Custom("Channels"));
            _netChannelsCounter           = metricsContext.Counter("NetChannelsCount", Unit.Items);
            _nodeUpdateTimer = metricsContext.Timer("NodeUpdateTime", Unit.None);
        }
        public ClientNode(IEnumerable <string> servers, INetProvider net, ICoreEvents logger, IMessageSerializer messageSerializer,
                          Action <ISimpleMessageHandlingConfigBuilder> messageHandlingConfigurator,
                          IFiber fiber = null, INetNodeConfig config = null, IBufferPool bufferPool = null)
            : base("client", net, logger, messageSerializer, null, config)
        {
            _bufferPool = bufferPool ?? new WcfBufferPool();
            _messageHandlingConfigurator = messageHandlingConfigurator;

            if (fiber == null)
            {
                _fiber =
                    SynchronizationContext.Current == null
                    ? new SimpleFiber()
                    : new SimpleFiber(TaskScheduler.FromCurrentSynchronizationContext());
            }
            else
            {
                _fiber = fiber;
            }


            _serverEndpoints.AddRange(servers.Select(EndpointHelpers.Parse));
            ChannelFactory = CreatePeer;
        }
Beispiel #7
0
 public SFChatClientNetChannel(INetNode node, ITransportChannel transportChannel, IMessageSerializer serializer, ICoreEvents logger, INetNodeConfig config, IBufferPool bufferPool)
     : base(node, transportChannel, serializer, logger, config, bufferPool)
 {
 }
 public MouseActorsBackendClientNetChannel(IActorSystem<ITestActor> actorSystem, INetNode node, ITransportChannel transportChannel, IMessageSerializer serializer, 
     ICoreEvents logger, INetNodeConfig config, IBufferPool bufferPool)
     : base(node, transportChannel, serializer, logger, config, bufferPool)
 {
     _actorSystem = actorSystem;
 }
 public SFChatClientNetChannel(INetNode node, ITransportChannel transportChannel, IMessageSerializer serializer, ICoreEvents logger, INetNodeConfig config, IBufferPool bufferPool)
     : base(node, transportChannel, serializer, logger, config, bufferPool)
 {
 }
 public void Init(ITransportChannel channel, IMessageSerializer serializer, ICoreEvents logger, INetNodeConfig config, IBufferPool bufferPool)
 {
     throw new NotSupportedException();
 }
Beispiel #11
0
 public MouseActorsBackendClientNetChannel(IActorSystem <ITestActor> actorSystem, INetNode node, ITransportChannel transportChannel, IMessageSerializer serializer,
                                           ICoreEvents logger, INetNodeConfig config, IBufferPool bufferPool)
     : base(node, transportChannel, serializer, logger, config, bufferPool)
 {
     _actorSystem = actorSystem;
 }
Beispiel #12
0
 public ChatClientNetChannel(IActorSystem <IRoomActor> rooms, ICallbacksGatewayNode callbacksNode, INetNode node,
                             ITransportChannel transportChannel, IMessageSerializer serializer, ICoreEvents logger, INetNodeConfig config, IBufferPool bufferPool)
     : base(node, transportChannel, serializer, logger, config, bufferPool)
 {
     _rooms         = rooms;
     _callbacksNode = callbacksNode;
 }
Beispiel #13
0
        public ServiceFabricActorSystemNetNode(string name, Uri serviceFabricServiceUri, INetProvider net, IActorCoreEvents logger, ICoreEvents coreLogger, IMessageSerializer messageSerializer,
                                               INetNodeConfig config = null, IBufferPool bufferPool = null, IPEndPoint publicAddress = null, Func <TActor> actorFactory = null)
            : base(name, net, coreLogger, messageSerializer, null, config, publicAddress)
        {
            ChannelFactory = (node, transport) =>
            {
                var channel = new ActorSystemNetChannel(node, transport, messageSerializer, coreLogger, config, bufferPool);
                //don't process messages on local actors if factory is not provided
                if (actorFactory != null)
                {
                    channel.ProcessIncommingMessage = Process;
                }
                return(channel);
            };

            _serviceFabricServiceUri = serviceFabricServiceUri;
            _actorFactory            = actorFactory;
            _logger = logger;


            var servicePartitionResolver = new ServicePartitionResolver(() => new FabricClient());

            _communicationClientFactory = new NetCommunicationClientFactory(this, servicePartitionResolver);
        }
 public AsyncProcessingNetChannel(INetNode node, ITransportChannel transportChannel, IMessageSerializer serializer, ICoreEvents logger, INetNodeConfig config, IBufferPool bufferPool)
     : base(node, transportChannel, serializer, logger, config, bufferPool)
 {
     _pipeBuilder = Configure(new MessageProcessingPipeBuilder());
     _processor   = _pipeBuilder.Build();
 }