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());
        }
Exemplo n.º 2
0
 /// <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;
 }
Exemplo n.º 3
0
        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;
        }
Exemplo n.º 4
0
 /// <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)
 {
 }
Exemplo n.º 5
0
 /// <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)
 {
 }