public WebSocketInputStream(WebSocketProtocol.FrameHeader initialHeader, Synchronized <Stream> .LockHolder underlyingHolder) { if (!underlyingHolder.LockedObject.CanRead) { throw new ArgumentException("Need readable Stream", "underlying"); } Underlying = underlyingHolder.LockedObject; UnderlyingHolder = underlyingHolder; BeginReadingFrame(initialHeader); }
private void BeginReadingFrame(WebSocketProtocol.FrameHeader header) { System.Diagnostics.Debug.WriteLine(header.PayloadLength, "WSIS: got next frame"); FrameHeader = header; FrameOffset = 0; if (FrameHeader.IsMasked) { FrameStream = new MaskingStream(Underlying, FrameHeader.MaskData); } else { FrameStream = Underlying; } }