Beispiel #1
0
 public MicroHost(IMicroExecutor serviceExecutor, IMicroListener microListener, IServiceRegister serviceRegister,
                  IMicroEntryFactory entryFactory) : base(serviceExecutor, microListener)
 {
     _serviceRegister = serviceRegister;
     _entryFactory    = entryFactory;
     _logger          = LogManager.Logger <MicroHost>();
 }
Beispiel #2
0
 protected DMicroHost(IMicroExecutor microExecutor, IMicroListener microListener)
 {
     _logger                 = LogManager.Logger <DMicroHost>();
     _microExecutor          = microExecutor;
     MicroListener           = microListener;
     MicroListener.Received += MessageListenerReceived;
 }
Beispiel #3
0
 protected DMicroHost(IMicroExecutor microExecutor, IMicroListener microListener, ILoggerFactory loggerFactory)
 {
     _logger                 = loggerFactory.CreateLogger <DMicroHost>();
     _microExecutor          = microExecutor;
     MicroListener           = microListener;
     MicroListener.Received += MessageListenerReceived;
 }
Beispiel #4
0
 public DotNettyClientFactory(IMessageCoderFactory coderFactory, IMicroExecutor executor = null)
 {
     _coderFactory  = coderFactory;
     _microExecutor = executor;
     _logger        = LogManager.Logger <DotNettyClientFactory>();
     _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 MicroMessageHandler(_coderFactory.GetDecoder()));
         pipeline.AddLast(new ClientHandler(channel =>
         {
             var k = channel.GetAttribute(OrigEndPointKey).Get();
             _logger.Debug($"删除客户端:{k}");
             _clients.TryRemove(k, out _);
         }, async(context, msg) =>
         {
             var listener = context.Channel.GetAttribute(ListenerKey).Get();
             var sender   = context.Channel.GetAttribute(SenderKey).Get();
             await listener.OnReceived(sender, msg);
         }));
     }));
 }
Beispiel #5
0
 public DotNettyClientFactory(ILoggerFactory loggerFactory, IMessageCodecFactory codecFactory, IMicroExecutor executor = null)
 {
     _codecFactory  = codecFactory;
     _microExecutor = executor;
     _loggerFactory = loggerFactory;
     _logger        = loggerFactory.CreateLogger <DotNettyClientFactory>();
     _bootstrap     = GetBootstrap();
     _clients       = new ConcurrentDictionary <string, Lazy <Task <IMicroClient> > >();
     _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 MicroMessageHandler(_codecFactory.GetDecoder()));
         pipeline.AddLast(new ClientHandler((context, message) =>
         {
             var messageListener = context.Channel.GetAttribute(ListenerKey).Get();
             var messageSender   = context.Channel.GetAttribute(SenderKey).Get();
             messageListener.OnReceived(messageSender, message);
         }, channel =>
         {
             var k = channel.GetAttribute(ServiceAddressKey).Get();
             _logger.LogDebug($"删除客户端:{k}");
             _clients.TryRemove(k.ToString(), out _);
         }, loggerFactory));
     }));
 }
Beispiel #6
0
 public HttpClientFactory(ILogger <HttpClientFactory> logger, IHttpClientFactory clientFactory, IMessageCodecFactory codecFactory, IMicroExecutor executor = null)
 {
     _codecFactory  = codecFactory;
     _microExecutor = executor;
     _logger        = logger;
     _clientFactory = clientFactory;
     _clients       = new ConcurrentDictionary <ServiceAddress, Lazy <IMicroClient> >();
 }
Beispiel #7
0
 public MicroHost(ILogger <MicroHost> logger, IMicroExecutor serviceExecutor, IMicroListener microListener,
                  IServiceRegister serviceRegister, IMicroEntryFactory entryFactory)
     : base(logger, serviceExecutor, microListener)
 {
     _serviceRegister = serviceRegister;
     _entryFactory    = entryFactory;
     _logger          = logger;
 }
Beispiel #8
0
 protected DMicroClientFactory(ILoggerFactory loggerFactory, IServiceProvider provider, IMicroExecutor microExecutor = null)
 {
     Provider      = provider;
     MicroExecutor = microExecutor;
     LoggerFactory = loggerFactory;
     Logger        = loggerFactory.CreateLogger(GetType());
     _clients      = new ConcurrentDictionary <ServiceAddress, Lazy <Task <IMicroClient> > >();
 }
Beispiel #9
0
 public MicroClient(IMessageSender sender, IMessageListener listener, IMicroExecutor executor)
 {
     _sender            = sender;
     _listener          = listener;
     _executor          = executor;
     _logger            = LogManager.Logger <MicroClient>();
     listener.Received += ListenerOnReceived;
 }
Beispiel #10
0
 public MicroClient(IMessageSender sender, IMessageListener listener, IMicroExecutor executor, ILoggerFactory loggerFactory)
 {
     _sender            = sender;
     _listener          = listener;
     _executor          = executor;
     _logger            = loggerFactory.CreateLogger <MicroClient>();
     _resultDictionary  = new ConcurrentDictionary <string, TaskCompletionSource <MicroMessage> >();
     listener.Received += ListenerOnReceived;
 }
Beispiel #11
0
        //private readonly ServiceProtocol _protocol;

        /// <summary> 服务宿主机 </summary>
        /// <param name="serviceExecutor"></param>
        /// <param name="microListener"></param>
        /// <param name="serviceRegister"></param>
        /// <param name="entryFactory"></param>
        /// <param name="loggerFactory"></param>
        public MicroHost(IMicroExecutor serviceExecutor, IMicroListener microListener,
                         IServiceRegister serviceRegister, IMicroEntryFactory entryFactory, ILoggerFactory loggerFactory)
            : base(serviceExecutor, microListener, loggerFactory)
        {
            _serviceRegister = serviceRegister;
            _entryFactory    = entryFactory;
            _logger          = loggerFactory.CreateLogger <MicroHost>();
            //var protocol = microListener.GetType().GetCustomAttribute<ProtocolAttribute>();
            //if (protocol != null)
            //    _protocol = protocol.Protocol;
        }
Beispiel #12
0
 public DotNettyClientFactory(ILogger <DotNettyClientFactory> logger, IMessageCodecFactory codecFactory, IMicroExecutor executor = null)
 {
     _codecFactory  = codecFactory;
     _microExecutor = executor;
     _logger        = logger;
     _bootstrap     = GetBootstrap();
     _clients       = new ConcurrentDictionary <string, Lazy <IMicroClient> >();
     _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 MicroMessageHandler(_codecFactory.GetDecoder()));
         pipeline.AddLast(new DefaultChannelHandler(this));
     }));
 }
Beispiel #13
0
 public UdpClientFactory(ILoggerFactory loggerFactory, IServiceProvider provider, IMicroExecutor microExecutor = null)
     : base(loggerFactory, provider, microExecutor)
 {
 }
 public DotNettyClientFactory(ILoggerFactory loggerFactory, IServiceProvider provider, IMicroExecutor executor = null)
     : base(loggerFactory, provider, executor)
 {
 }