public void Forward(WireFrame frame) { if (_dismissed) { return; } OtherEndpoint.Forward(frame); }
public void Forward(WireFrame frame) { if (_dismissed) { return; } ++FrameCounter; if (_recursion || _frameBuffer.Count > 0 || _decide()) { _frameBuffer.Enqueue(frame); } else { _recursion = true; OtherEndpoint.Forward(frame); _recursion = false; } }
public bool Flush() { if (_frameBuffer.Count > 0) { var frame = _frameBuffer.Dequeue(); _recursion = true; try { OtherEndpoint.Forward(frame); } catch (InvalidOperationException) { } _recursion = false; return(true); } else { return(false); } }