示例#1
0
 public WebSocketTransmissionClientConnection(string url)
 {
     _log    = LogManager.GetLogger <WebSocketTransmissionClientConnection>(Id.ToString());
     _socket = new WebSocket(url.Replace("http://", "ws://"));
     _socket.DataReceived    += OnDataReceived;
     _socket.MessageReceived += OnMessageReceived;
     _socket.Closed          += OnClosed;
     _socket.Error           += OnError;
     _socket.Opened          += OnOpened;
     _log.Trace("Created");
     Completion = TaskRunner.RunInBackground(ProcessAsync);
     Completion.PropagateCompletionToPromise(_connectCompletion);
 }
 public TransportChannelSendProcessor(
     UniqueId connectionId,
     UniqueId channelId,
     IWritableChannel <ChannelMessage> @out,
     IChannelHeaderFactory headerFactory)
 {
     ChannelId      = channelId;
     _log           = LogManager.GetLogger <TransportChannelSendProcessor>($"{connectionId.ToString()}.{channelId.ToString()}");
     _headerFactory = headerFactory;
     _out           = @out;
     _buffer.Out.PropagateTerminationFrom(_out.Completion);
     Completion = ProcessAsync().LogCompletion(_log);
     Completion.PropagateCompletionToPromise(_initialized);
 }