Ejemplo n.º 1
0
 public ProtobufTransportProtocolSerializer()
 {
     _log = LogManager.GetLogger <ProtobufTransportProtocolSerializer>();
     _transportHeaderHandler  = new TransportHeaderHandler <IPooledBuffer, Nothing>(Handle, Handle);
     _channelHeaderHandler    = new TransportChannelHeaderHandler <IPooledBuffer, Nothing>(Handle, Handle, Handle);
     _connectionHeaderHandler = new TransportConnectionHeaderHandler <IPooledBuffer, Nothing>(Handle, Handle);
 }
Ejemplo n.º 2
0
 public TransportConnection(
     ITransportSendProcessor transportSendProcessor,
     ITransportReceiveProcessor transportReceiveProcessor,
     ITransportHeaderFactory headerFactory)
 {
     Id   = transportSendProcessor.InstanceId;
     _log = LogManager.GetLogger <TransportConnection>(Id.ToString());
     _transportSendProcessor    = transportSendProcessor;
     _transportReceiveProcessor = transportReceiveProcessor;
     _headerFactory             = headerFactory;
     _incomingMessageHandler    = new TransportChannelHeaderHandler <Task, ChannelMessage>(HandleIncomingAsync, HandleIncomingAsync, HandleIncomingAsync);
     Completion = TaskRunner.RunInBackground(ProcessAsync).LogCompletion(_log);
 }
Ejemplo n.º 3
0
 public TransportChannel(
     UniqueId connectionId,
     UniqueId channelId,
     IWritableChannel <ChannelMessage> output,
     IChannelHeaderFactory headerFactory)
 {
     ConnectionId            = connectionId;
     Id                      = channelId;
     _log                    = LogManager.GetLogger <TransportChannel>($"{connectionId}.{channelId}");
     _incomingMessageHandler = new TransportChannelHeaderHandler <Task, ChannelMessage>(HandleIncomingAsync, HandleIncomingAsync, HandleIncomingAsync);
     _sendProcessor          = new TransportChannelSendProcessor(connectionId, channelId, output, headerFactory);
     Completion              = TaskRunner.RunInBackground(ProcessAsync).LogCompletion(_log);
 }
Ejemplo n.º 4
0
 public TransportChannel(
     UniqueId connectionId,
     UniqueId channelId,
     IWriteOnlyChannel <ChannelMessage> output,
     IChannelHeaderFactory headerFactory)
 {
     ConnectionId            = connectionId;
     Id                      = channelId;
     _log                    = LogManager.GetLogger <TransportChannel>($"{connectionId}.{channelId}");
     _incomingMessageHandler = new TransportChannelHeaderHandler <Task, ChannelMessage>(HandleIncomingAsync, HandleIncomingAsync, HandleIncomingAsync);
     _sendProcessor          = new TransportChannelSendProcessor(connectionId, channelId, output, headerFactory);
     Completion              = Task.WhenAll(_sendProcessor.Completion, _receiveBuffer.In.Completion).LogCompletion(_log);
 }
 public T Handle <T, TArgs>(TransportChannelHeaderHandler <T, TArgs> handler, TArgs args = default)
 {
     return(handler.Handle(this, args));
 }