コード例 #1
0
        public DotNettyTransportClientFactory(ITransportMessageCodecFactory codecFactory,
                                              IHealthCheckService healthCheckService, ILogger <DotNettyTransportClientFactory> logger,
                                              IServiceExecutor serviceExecutor)
        {
            _transportMessageEncoder = codecFactory.GetEncoder();
            _transportMessageDecoder = codecFactory.GetDecoder();
            _logger             = logger;
            _healthCheckService = healthCheckService;
            _serviceExecutor    = serviceExecutor;
            _bootstrap          = GetBootstrap();
            _bootstrap.Handler(new ActionChannelInitializer <ISocketChannel>(c =>
            {
                var pipeline = c.Pipeline;
                pipeline.AddLast(new LengthFieldPrepender(4));
                pipeline.AddLast(new LengthFieldBasedFrameDecoder(int.MaxValue, 0, 4, 0, 4));
                if (AppConfig.ServerOptions.EnableHealthCheck)
                {
                    pipeline.AddLast(new IdleStateHandler(0, AppConfig.ServerOptions.HealthCheckWatchIntervalInSeconds, 0));
                    pipeline.AddLast(DotNettyConstants.HeartBeatName, new HeartBeatHandler(_healthCheckService, this));
                }

                pipeline.AddLast(DotNettyConstants.TransportMessageAdapterName,
                                 new TransportMessageChannelHandlerAdapter(_transportMessageDecoder));
                pipeline.AddLast(DotNettyConstants.ClientChannelHandler,
                                 new DefaultChannelHandler(this, healthCheckService));
            }));
        }
コード例 #2
0
 public DotNettyHttpServerMessageListener(ILogger <DotNettyHttpServerMessageListener> logger, ITransportMessageCodecFactory codecFactory, ISerializer <string> serializer)
 {
     _logger = logger;
     _transportMessageEncoder = codecFactory.GetEncoder();
     _transportMessageDecoder = codecFactory.GetDecoder();
     _serializer = serializer;
 }
コード例 #3
0
 public ThriftTransportClientFactory(ITransportMessageCodecFactory codecFactory, CommandLineApplication app, IConsole console)
 {
     _transportMessageEncoder = codecFactory.GetEncoder();
     _transportMessageDecoder = codecFactory.GetDecoder();
     _app     = app;
     _console = console;
 }
コード例 #4
0
 public TMultiplexedServiceProcessor(ILogger logger, ITransportMessageDecoder transportMessageDecoder, ITransportMessageEncoder transportMessageEncoder, ServerHandler serverHandler)
 {
     _logger = logger;
     _transportMessageDecoder = transportMessageDecoder;
     _transportMessageEncoder = transportMessageEncoder;
     _serverHandler           = serverHandler;
 }
コード例 #5
0
 public ChannelHandler(ITransportMessageDecoder transportMessageDecoder, IMessageListener messageListener, IMessageSender messageSender, ILogger logger)
 {
     _transportMessageDecoder = transportMessageDecoder;
     _logger          = logger;
     _messageListener = messageListener;
     _messageSender   = messageSender;
 }
コード例 #6
0
ファイル: MessagePackTest.cs プロジェクト: LeoZhw/LeoCms
        public void TestCodec()
        {
            Person person = new Person
            {
                Name = "张宏伟",
                Age  = 18
            };
            TransportMessage transportMessage = new TransportMessage
            {
                Id          = "1",
                ContentType = "Person",
                Content     = person
            };
            MessagePackTransportMessageCodecFactory factory = new MessagePackTransportMessageCodecFactory();
            ITransportMessageEncoder encoder = factory.GetEncoder();
            ITransportMessageDecoder decoder = factory.GetDecoder();

            byte[]           vs      = encoder.Encode(transportMessage);
            TransportMessage message = decoder.Decode(vs);

            Assert.AreEqual(message.Id, "1");
            Assert.AreEqual(message.ContentType, "Person");
            Assert.AreEqual(((object[])message.Content)[0].ToString(), "张宏伟");
            Assert.AreEqual(((object[])message.Content)[1].ToString(), "18");
        }
コード例 #7
0
 public SimpleMessageDispatcher(IMessageListener messageListener, ITransportMessageCodecFactory transportMessageCodecFactory, ILogger logger)
 {
     _messageListener         = messageListener;
     _logger                  = logger;
     _transportMessageEncoder = transportMessageCodecFactory.GetEncoder();
     _transportMessageDecoder = transportMessageCodecFactory.GetDecoder();
 }
コード例 #8
0
 public ThriftServerMessageListener(ILogger <ThriftServerMessageListener> logger, IThriftServiceEntryProvider thriftServiceEntryProvider, ITransportMessageCodecFactory codecFactory)
 {
     _logger = logger;
     _transportMessageEncoder = codecFactory.GetEncoder();
     _transportMessageDecoder = codecFactory.GetDecoder();
     _entries = thriftServiceEntryProvider.GetEntries().ToList();
 }
コード例 #9
0
 /// <summary>
 /// Initializes a new instance of the <see cref="DotNettyUdpServerMessageListener" /> class.
 /// </summary>
 /// <param name="logger">The logger.</param>
 /// <param name="codecFactory">The codec factory.</param>
 public DotNettyUdpServerMessageListener(ILogger <DotNettyUdpServerMessageListener> logger
                                         , ITransportMessageCodecFactory codecFactory)
 {
     _logger = logger;
     _transportMessageEncoder = codecFactory.GetEncoder();
     _transportMessageDecoder = codecFactory.GetDecoder();
 }
コード例 #10
0
 public DefaultDotNettyServerMessageListener(ITransportMessageCodecFactory codecFactory,
                                             ILogger <DefaultDotNettyServerMessageListener> logger)
 {
     _transportMessageEncoder = codecFactory.GetEncoder();
     _transportMessageDecoder = codecFactory.GetDecoder();
     _logger = logger;
 }
コード例 #11
0
 public DotNettyServerBootstrap(IOptions <ServerAddress> address, ISocketService service, ITransportMessageCodecFactory codecFactory, ILogger <DotNettyServerBootstrap> logger)
 {
     _logger  = logger;
     _address = address;
     _decoder = codecFactory.CreateDecoder();
     _service = service;
 }
コード例 #12
0
 public SimpleMessageDispatcher(IMessageListener messageListener, ITransportMessageCodecFactory transportMessageCodecFactory, ILogger logger)
 {
     _messageListener = messageListener;
     _logger = logger;
     _transportMessageEncoder = transportMessageCodecFactory.GetEncoder();
     _transportMessageDecoder = transportMessageCodecFactory.GetDecoder();
 }
コード例 #13
0
 public ThriftTransportClientFactory(ITransportMessageCodecFactory codecFactory, IHealthCheckService healthCheckService, ILogger <ThriftTransportClientFactory> logger, IServiceExecutor serviceExecutor)
 {
     _transportMessageEncoder = codecFactory.GetEncoder();
     _transportMessageDecoder = codecFactory.GetDecoder();
     _logger             = logger;
     _healthCheckService = healthCheckService;
     _serviceExecutor    = serviceExecutor;
 }
コード例 #14
0
 public DefaultDotNettyServerMessageListener(ITransportMessageCodecFactory codecFactory,
                                             ILogger <DefaultDotNettyServerMessageListener> logger)
 {
     _transportMessageEncoder = codecFactory.GetEncoder();
     _transportMessageDecoder = codecFactory.GetDecoder();
     _logger = logger;
     Console.Write("create transport message for encoder and decoder.");
 }
コード例 #15
0
 public DotNettyTransportClientFactory(ITransportMessageCodecFactory codecFactory, ILogger <DotNettyTransportClientFactory> logger, IServiceExecutor serviceExecutor)
 {
     _transportMessageEncoder = codecFactory.GetEncoder();
     _transportMessageDecoder = codecFactory.GetDecoder();
     _logger          = logger;
     _serviceExecutor = serviceExecutor;
     _bootstrap       = GetBootstrap();
 }
コード例 #16
0
 public DotNettyClientFactory(ITransportMessageCodecFactory factory, ILogger <DotNettyClientFactory> logger)
 {
     _decoder   = factory.CreateDecoder();
     _logger    = logger;
     _bootstrap = GetBootstrap();
     _bootstrap.Handler(new ActionChannelInitializer <ISocketChannel>(c =>
     {
         var pipeline = c.Pipeline;
         pipeline.AddLast(new LengthFieldPrepender(4));
         pipeline.AddLast(new LengthFieldBasedFrameDecoder(int.MaxValue, 0, 4, 0, 4));
         pipeline.AddLast(new ChannelDecoderHandlerAdpter(_decoder, _logger));
         pipeline.AddLast(new ChannelClientHandlerAdpter(origEndPointKey, _clientServiceAttributeKey, _logger, /* GetOrAdd,*/ RemoveClient));
     }));
 }
コード例 #17
0
 public DotNettyTransportClientFactory(ITransportMessageCodecFactory codecFactory, ILogger <DotNettyTransportClientFactory> logger, IServiceExecutor serviceExecutor)
 {
     _transportMessageEncoder = codecFactory.GetEncoder();
     _transportMessageDecoder = codecFactory.GetDecoder();
     _logger          = logger;
     _serviceExecutor = serviceExecutor;
     _bootstrap       = GetBootstrap();
     _bootstrap.Handler(new ActionChannelInitializer <ISocketChannel>(c =>
     {
         var pipeline = c.Pipeline;
         pipeline.AddLast(new LengthFieldPrepender(4));
         pipeline.AddLast(new LengthFieldBasedFrameDecoder(int.MaxValue, 0, 4, 0, 4));
         pipeline.AddLast(new TransportMessageChannelHandlerAdapter(_transportMessageDecoder));
         pipeline.AddLast(new DefaultChannelHandler(this));
     }));
 }
コード例 #18
0
 public NettyTransportClientFactory(ITransportMessageCodecFactory codecFactory, CommandLineApplication app, IConsole console)
 {
     _transportMessageEncoder = codecFactory.GetEncoder();
     _transportMessageDecoder = codecFactory.GetDecoder();
     _app       = app;
     _console   = console;
     _bootstrap = GetBootstrap();
     _bootstrap.Handler(new ActionChannelInitializer <ISocketChannel>(c =>
     {
         var pipeline = c.Pipeline;
         pipeline.AddLast(new LengthFieldPrepender(4));
         pipeline.AddLast(new LengthFieldBasedFrameDecoder(int.MaxValue, 0, 4, 0, 4));
         pipeline.AddLast(new TransportMessageChannelHandlerAdapter(_transportMessageDecoder));
         pipeline.AddLast(new DefaultChannelHandler(this));
     }));
 }
コード例 #19
0
        public DotNettyTcpServerMessageListener(IOptions <RpcOptions> rpcOptions,
                                                IHostEnvironment hostEnvironment,
                                                ITransportMessageDecoder transportMessageDecoder,
                                                IHealthCheck healthCheck)
        {
            _hostEnvironment         = hostEnvironment;
            _transportMessageDecoder = transportMessageDecoder;
            _healthCheck             = healthCheck;
            _rpcOptions  = rpcOptions.Value;
            _hostAddress = NetUtil.GetRpcAddressModel();
            if (_rpcOptions.IsSsl)
            {
                Check.NotNullOrEmpty(_rpcOptions.SslCertificateName, nameof(_rpcOptions.SslCertificateName));
            }

            Logger = NullLogger <DotNettyTcpServerMessageListener> .Instance;
        }
コード例 #20
0
 public DotNettyTransportClientFactory(ITransportMessageCodecFactory codecFactory, ILogger <DotNettyTransportClientFactory> logger, IServiceExecutor serviceExecutor)
 {
     _transportMessageEncoder = codecFactory.GetEncoder();
     _transportMessageDecoder = codecFactory.GetDecoder();
     _logger          = logger;
     _serviceExecutor = serviceExecutor;
     //_bootstrap = GetBootstrap();
     //_bootstrap.Handler(new ActionChannelInitializer<ISocketChannel>(c =>
     //{
     //    var pipeline = c.Pipeline;
     //    pipeline.AddLast(
     //        new IdleStateHandler(0, 4, 0),
     //        this.idleStateTrigger,
     //        new ProtocolDecoder(),
     //        encoder,
     //        new TransportMessageChannelHandlerAdapter(_transportMessageDecoder),
     //        new DefaultChannelHandler(this));
     //}));
 }
コード例 #21
0
 public SimpleServerMessageListener(ITransportMessageCodecFactory codecFactory, ILogger <SimpleServerMessageListener> logger)
 {
     _transportMessageEncoder = codecFactory.GetEncoder();
     _transportMessageDecoder = codecFactory.GetDecoder();
     _logger = logger;
 }
コード例 #22
0
 public DotNettyServerMessageListener(ILogger<DotNettyServerMessageListener> logger, ITransportMessageCodecFactory codecFactory)
 {
     _logger = logger;
     _transportMessageEncoder = codecFactory.GetEncoder();
     _transportMessageDecoder = codecFactory.GetDecoder();
 }
コード例 #23
0
 public SimpleMessageDispatcher(Action <TcpSocketSaeaSession, TransportMessage> readAction, ITransportMessageDecoder transportMessageDecoder, ILogger logger)
 {
     _readAction = readAction;
     _transportMessageDecoder = transportMessageDecoder;
     _logger = logger;
 }
コード例 #24
0
 public TransportMessageChannelHandlerAdapter(ITransportMessageDecoder transportMessageDecoder)
 {
     _transportMessageDecoder = transportMessageDecoder;
 }
コード例 #25
0
 public SimpleMessageDispatcher(Action<TcpSocketSaeaSession, TransportMessage> readAction, ITransportMessageDecoder transportMessageDecoder, ILogger logger)
 {
     _readAction = readAction;
     _transportMessageDecoder = transportMessageDecoder;
     _logger = logger;
 }
コード例 #26
0
 public SimpleServerMessageListener(ITransportMessageCodecFactory codecFactory, ILogger<SimpleServerMessageListener> logger)
 {
     _transportMessageEncoder = codecFactory.GetEncoder();
     _transportMessageDecoder = codecFactory.GetDecoder();
     _logger = logger;
 }
コード例 #27
0
 public DefaultTransportMessageCodecFactory()
 {
     _encoder = new JsonTransportMessageEncoder();
     _decoder = new JsonTransportMessageDecoder();
 }
コード例 #28
0
 public ChannelDecoderHandlerAdpter(ITransportMessageDecoder decoder, ILogger logger)
 {
     _decoder = decoder;
     _logger  = logger;
 }