示例#1
0
        public void SetMaxFrameSize(int max)
        {
            if (!Http2CodecUtil.IsMaxFrameSizeValid(max))
            {
                ThrowHelper.ThrowConnectionError_InvalidMaxFrameSizeSpecifiedInSentSettings(max);
            }

            _maxFrameSize = max;
        }
示例#2
0
        static void VerifyStandardSetting(int key, long value)
        {
            switch (key)
            {
            case Http2CodecUtil.SettingsHeaderTableSize:
                if (value < Http2CodecUtil.MinHeaderTableSize || value > Http2CodecUtil.MaxHeaderTableSize)
                {
                    ThrowHelper.ThrowArgumentException_InvalidHeaderTableSize(value);
                }
                break;

            case Http2CodecUtil.SettingsEnablePush:
                if (value != 0L && value != 1L)
                {
                    ThrowHelper.ThrowArgumentException_InvalidEnablePush(value);
                }
                break;

            case Http2CodecUtil.SettingsMaxConcurrentStreams:
                if (value < Http2CodecUtil.MinConcurrentStreams || value > Http2CodecUtil.MaxConcurrentStreams)
                {
                    ThrowHelper.ThrowArgumentException_InvalidConcurrentStreams(value);
                }
                break;

            case Http2CodecUtil.SettingsInitialWindowSize:
                if (value < Http2CodecUtil.MinInitialWindowSize || value > Http2CodecUtil.MaxInitialWindowSize)
                {
                    ThrowHelper.ThrowArgumentException_InvalidInitialWindowSize(value);
                }
                break;

            case Http2CodecUtil.SettingsMaxFrameSize:
                if (!Http2CodecUtil.IsMaxFrameSizeValid(value))
                {
                    ThrowHelper.ThrowArgumentException_InvalidMaxFrameSize(value);
                }
                break;

            case Http2CodecUtil.SettingsMaxHeaderListSize:
                if (value < Http2CodecUtil.MinHeaderListSize || value > Http2CodecUtil.MaxHeaderListSize)
                {
                    ThrowHelper.ThrowArgumentException_InvalidHeaderListSize(value);
                }
                break;

            default:
                // Non-standard HTTP/2 setting - don't do validation.
                break;
            }
        }