public void UpdateTrafficControl(LoopbackSession session) { if (!session.ReadSuspended) { ConcurrentQueue <Object> queue = session.ReceivedMessageQueue; Object item; while (queue.TryDequeue(out item)) { _chain.FireMessageReceived(item); } } if (!session.WriteSuspended) { Flush(session); } }