public void TestNeverSkip() { IWebSocketExtensionFilter neverSkip = NeverSkipWebSocketExtensionFilter.Instance; BinaryWebSocketFrame binaryFrame = new BinaryWebSocketFrame(); Assert.False(neverSkip.MustSkip(binaryFrame)); Assert.True(binaryFrame.Release()); TextWebSocketFrame textFrame = new TextWebSocketFrame(); Assert.False(neverSkip.MustSkip(textFrame)); Assert.True(textFrame.Release()); PingWebSocketFrame pingFrame = new PingWebSocketFrame(); Assert.False(neverSkip.MustSkip(pingFrame)); Assert.True(pingFrame.Release()); PongWebSocketFrame pongFrame = new PongWebSocketFrame(); Assert.False(neverSkip.MustSkip(pongFrame)); Assert.True(pongFrame.Release()); CloseWebSocketFrame closeFrame = new CloseWebSocketFrame(); Assert.False(neverSkip.MustSkip(closeFrame)); Assert.True(closeFrame.Release()); ContinuationWebSocketFrame continuationFrame = new ContinuationWebSocketFrame(); Assert.False(neverSkip.MustSkip(continuationFrame)); Assert.True(continuationFrame.Release()); }
/// <summary>Constructor</summary> /// <param name="noContext">true to disable context takeover.</param> /// <param name="extensionDecoderFilter">extension decoder filter.</param> protected DeflateDecoder(bool noContext, IWebSocketExtensionFilter extensionDecoderFilter) { if (extensionDecoderFilter is null) { ThrowHelper.ThrowArgumentNullException(ExceptionArgument.extensionDecoderFilter); } _noContext = noContext; _extensionDecoderFilter = extensionDecoderFilter; }
protected DeflateEncoder(int compressionLevel, int windowSize, bool noContext, IWebSocketExtensionFilter extensionEncoderFilter) { if (extensionEncoderFilter is null) { ThrowHelper.ThrowArgumentNullException(ExceptionArgument.extensionEncoderFilter); } _compressionLevel = compressionLevel; _windowSize = windowSize; _noContext = noContext; _extensionEncoderFilter = extensionEncoderFilter; }
/// <summary>Constructor</summary> /// <param name="compressionLevel">compression level of the compressor.</param> /// <param name="windowSize">maximum size of the window compressor buffer.</param> /// <param name="noContext">true to disable context takeover.</param> /// <param name="extensionEncoderFilter">extension filter for per message deflate encoder.</param> public PerMessageDeflateEncoder(int compressionLevel, int windowSize, bool noContext, IWebSocketExtensionFilter extensionEncoderFilter) : base(compressionLevel, windowSize, noContext, extensionEncoderFilter) { }
/// <summary>Constructor</summary> /// <param name="noContext">true to disable context takeover.</param> /// <param name="extensionDecoderFilter">extension decoder filter for per frame deflate decoder.</param> public PerFrameDeflateDecoder(bool noContext, IWebSocketExtensionFilter extensionDecoderFilter) : base(noContext, extensionDecoderFilter) { }