private static void OnReceive(IAsyncResult result) { if (!result.CompletedSynchronously) { bool flag; DuplexSessionOneWayChannelListener.ChannelReceiver asyncState = (DuplexSessionOneWayChannelListener.ChannelReceiver)result.AsyncState; if (asyncState.OnCompleteReceive(result, out flag)) { asyncState.StartReceiving(); } if (flag) { asyncState.Dispatch(); } } }
public void AcceptInnerChannel(DuplexSessionOneWayChannelListener listener, IDuplexSessionChannel channel) { DuplexSessionOneWayChannelListener.ChannelReceiver channelReceiver = new DuplexSessionOneWayChannelListener.ChannelReceiver(listener, channel); this.receivers.Add(channel, channelReceiver); channelReceiver.StartReceiving(); }