예제 #1
0
        /// <inheritdoc />
        public override bool AcceptInboundMessage(object msg)
        {
            if (!(msg is WebSocketFrame wsFrame))
            {
                return(false);
            }

            if (ExtensionDecoderFilter.MustSkip(wsFrame))
            {
                if (_compressing)
                {
                    ThrowHelper.ThrowInvalidOperationException_Cannot_skip_per_message_deflate_decoder();
                }
                return(false);
            }

            switch (wsFrame.Opcode)
            {
            case Opcode.Text:
            case Opcode.Binary:
                return((wsFrame.Rsv & WebSocketRsv.Rsv1) > 0);

            case Opcode.Cont:
                return(_compressing);

            default:
                return(false);
            }
        }
예제 #2
0
        /// <inheritdoc />
        public override bool AcceptInboundMessage(object msg)
        {
            if (!(msg is WebSocketFrame wsFrame))
            {
                return(false);
            }

            if (ExtensionDecoderFilter.MustSkip(wsFrame))
            {
                return(false);
            }

            switch (wsFrame.Opcode)
            {
            case Opcode.Text:
            case Opcode.Binary:
            case Opcode.Cont:
                return((wsFrame.Rsv & WebSocketRsv.Rsv1) > 0);

            default:
                return(false);
            }
        }