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)); })); }
/// <summary> /// 创建客户端。 /// </summary> /// <param name="endPoint">终结点。</param> /// <returns>传输客户端实例。</returns> public ITransportClient CreateClient(EndPoint endPoint) { var key = endPoint.ToString(); return(_clients.GetOrAdd(key, k => new Lazy <ITransportClient>(() => { var messageListener = new MessageListener(); Func <TcpSocketSaeaClient> clientFactory = () => { var client = new TcpSocketSaeaClient((IPEndPoint)endPoint, async(c, data, offset, count) => { if (_logger.IsEnabled(LogLevel.Information)) { _logger.LogInformation("接收到数据包。"); } var transportMessageDecoder = _transportMessageCodecFactory.GetDecoder(); var transportMessageEncoder = _transportMessageCodecFactory.GetEncoder(); var message = transportMessageDecoder.Decode(data.Skip(offset).Take(count).ToArray()); if (_logger.IsEnabled(LogLevel.Information)) { _logger.LogInformation("接收到消息:" + message.Id); } await messageListener.OnReceived(new SimpleClientMessageSender(transportMessageEncoder, c), message); }); client.Connect().Wait(); return client; }; return new TransportClient(new SimpleClientMessageSender(_transportMessageCodecFactory.GetEncoder(), clientFactory), messageListener, _logger, _serviceExecutor); })).Value); }
public DotNettyHttpServerMessageListener(ILogger <DotNettyHttpServerMessageListener> logger, ITransportMessageCodecFactory codecFactory, ISerializer <string> serializer) { _logger = logger; _transportMessageEncoder = codecFactory.GetEncoder(); _transportMessageDecoder = codecFactory.GetDecoder(); _serializer = serializer; }
public DefaultDotNettyServerMessageListener(ITransportMessageCodecFactory codecFactory, ILogger <DefaultDotNettyServerMessageListener> logger) { _transportMessageEncoder = codecFactory.GetEncoder(); _transportMessageDecoder = codecFactory.GetDecoder(); _logger = logger; }
public ThriftTransportClientFactory(ITransportMessageCodecFactory codecFactory, CommandLineApplication app, IConsole console) { _transportMessageEncoder = codecFactory.GetEncoder(); _transportMessageDecoder = codecFactory.GetDecoder(); _app = app; _console = console; }
public SimpleMessageDispatcher(IMessageListener messageListener, ITransportMessageCodecFactory transportMessageCodecFactory, ILogger logger) { _messageListener = messageListener; _logger = logger; _transportMessageEncoder = transportMessageCodecFactory.GetEncoder(); _transportMessageDecoder = transportMessageCodecFactory.GetDecoder(); }
/// <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(); }
public ThriftServerMessageListener(ILogger <ThriftServerMessageListener> logger, IThriftServiceEntryProvider thriftServiceEntryProvider, ITransportMessageCodecFactory codecFactory) { _logger = logger; _transportMessageEncoder = codecFactory.GetEncoder(); _transportMessageDecoder = codecFactory.GetDecoder(); _entries = thriftServiceEntryProvider.GetEntries().ToList(); }
public DefaultDotNettyServerMessageListener(ITransportMessageCodecFactory codecFactory, ILogger <DefaultDotNettyServerMessageListener> logger) { _transportMessageEncoder = codecFactory.GetEncoder(); _transportMessageDecoder = codecFactory.GetDecoder(); _logger = logger; Console.Write("create transport message for encoder and decoder."); }
public ThriftTransportClientFactory(ITransportMessageCodecFactory codecFactory, IHealthCheckService healthCheckService, ILogger <ThriftTransportClientFactory> logger, IServiceExecutor serviceExecutor) { _transportMessageEncoder = codecFactory.GetEncoder(); _transportMessageDecoder = codecFactory.GetDecoder(); _logger = logger; _healthCheckService = healthCheckService; _serviceExecutor = serviceExecutor; }
public DotNettyTransportClientFactory(ITransportMessageCodecFactory codecFactory, ILogger <DotNettyTransportClientFactory> logger, IServiceExecutor serviceExecutor) { _transportMessageEncoder = codecFactory.GetEncoder(); _transportMessageDecoder = codecFactory.GetDecoder(); _logger = logger; _serviceExecutor = serviceExecutor; _bootstrap = GetBootstrap(); }
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)); })); }
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)); })); }
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)); //})); }
public SimpleServerMessageListener(ITransportMessageCodecFactory codecFactory, ILogger<SimpleServerMessageListener> logger) { _transportMessageEncoder = codecFactory.GetEncoder(); _transportMessageDecoder = codecFactory.GetDecoder(); _logger = logger; }
public SimpleServerMessageListener(ITransportMessageCodecFactory codecFactory, ILogger <SimpleServerMessageListener> logger) { _transportMessageEncoder = codecFactory.GetEncoder(); _transportMessageDecoder = codecFactory.GetDecoder(); _logger = logger; }
public DotNettyServerMessageListener(ILogger<DotNettyServerMessageListener> logger, ITransportMessageCodecFactory codecFactory) { _logger = logger; _transportMessageEncoder = codecFactory.GetEncoder(); _transportMessageDecoder = codecFactory.GetDecoder(); }