@SuppressWarnings("unused") public Http2AddOn() { this(Http2Configuration.builder().build()); }
/** * @return a new {@link Http2Configuration} instances based on the values of this builder. */ public Http2Configuration build() { return new Http2Configuration(this); } }
/** * Constructs Http2HandlerFilter. */ public Http2BaseFilter(final Http2Configuration configuration) { this.configuration = configuration; final ThreadPoolConfig tpConfig = configuration.getThreadPoolConfig(); threadPool = ((tpConfig != null) ? GrizzlyExecutorService.createInstance(tpConfig) : configuration.getExecutorService()); }
protected SettingsFrame.SettingsFrameBuilder prepareSettings( final Http2Session http2Session) { SettingsFrame.SettingsFrameBuilder builder = SettingsFrame.builder(); final int maxConcStreams = getConfiguration().getMaxConcurrentStreams(); if (maxConcStreams != -1 && maxConcStreams != http2Session.getDefaultMaxConcurrentStreams()) { builder.setting(SETTINGS_MAX_CONCURRENT_STREAMS, maxConcStreams); } final int initWindSize = getConfiguration().getInitialWindowSize(); if (initWindSize != -1 && http2Session != null && initWindSize != http2Session.getDefaultStreamWindowSize()) { builder.setting(SETTINGS_INITIAL_WINDOW_SIZE, initWindSize); } builder.setting(SETTINGS_ENABLE_PUSH, ((getConfiguration().isPushEnabled()) ? 1 : 0)); return builder; }
/** * Creates {@link Http2Session} with pre-configured initial-windows-size and * max-concurrent-streams * @param connection the TCP {@link Connection} * @param isServer flag indicating whether this connection is server side or not. * @return {@link Http2Session} */ protected Http2Session createHttp2Session(final Connection connection, final boolean isServer) { final Http2Session http2Session = new Http2Session(connection, isServer, this); final int initialWindowSize = configuration.getInitialWindowSize(); if (initialWindowSize != -1) { http2Session.setLocalStreamWindowSize(initialWindowSize); } final int maxConcurrentStreams = configuration.getMaxConcurrentStreams(); if (maxConcurrentStreams != -1) { http2Session.setLocalMaxConcurrentStreams(maxConcurrentStreams); } Http2Session.bind(connection, http2Session); return http2Session; }
if (checkCount++ > http2Configuration.getCleanFrequencyCheck() && streamsMap.size() > streamsHighWaterMark) { checkCount = 0; int maxCount = Float.valueOf(streamsHighWaterMark * http2Configuration.getCleanPercentage()).intValue(); int count = 0; for (final Iterator<Map.Entry<Integer,Http2Stream>> streamIds = streamsMap.entrySet().iterator(); (streamIds.hasNext() && count < maxCount);) {
streamsHighWaterMark = Float.valueOf( getDefaultMaxConcurrentStreams() * http2Configuration.getStreamsHighWaterMark()) .intValue(); : getSpecDefaultFramePayloadSize(); maxHeaderListSize = handlerFilter.getConfiguration().getMaxHeaderListSize();
private Http2ServerFilter updateFilterChain(final FilterChainBuilder builder) { final int codecFilterIdx = builder.indexOfType( org.glassfish.grizzly.http.HttpServerFilter.class); final Http2ServerFilter http2HandlerFilter = new Http2ServerFilter(http2Configuration); http2HandlerFilter.setLocalMaxFramePayloadSize(http2Configuration.getMaxFramePayloadSize()); builder.add(codecFilterIdx + 1, http2HandlerFilter); return http2HandlerFilter; }
protected SettingsFrame.SettingsFrameBuilder prepareSettings( final Http2Session http2Session) { SettingsFrame.SettingsFrameBuilder builder = SettingsFrame.builder(); final int maxConcStreams = getConfiguration().getMaxConcurrentStreams(); if (maxConcStreams != -1 && maxConcStreams != http2Session.getDefaultMaxConcurrentStreams()) { builder.setting(SETTINGS_MAX_CONCURRENT_STREAMS, maxConcStreams); } final int initWindSize = getConfiguration().getInitialWindowSize(); if (initWindSize != -1 && http2Session != null && initWindSize != http2Session.getDefaultStreamWindowSize()) { builder.setting(SETTINGS_INITIAL_WINDOW_SIZE, initWindSize); } builder.setting(SETTINGS_ENABLE_PUSH, ((getConfiguration().isPushEnabled()) ? 1 : 0)); return builder; }
/** * Creates {@link Http2Session} with pre-configured initial-windows-size and * max-concurrent-streams * @param connection the TCP {@link Connection} * @param isServer flag indicating whether this connection is server side or not. * @return {@link Http2Session} */ protected Http2Session createHttp2Session(final Connection connection, final boolean isServer) { final Http2Session http2Session = new Http2Session(connection, isServer, this); final int initialWindowSize = configuration.getInitialWindowSize(); if (initialWindowSize != -1) { http2Session.setLocalStreamWindowSize(initialWindowSize); } final int maxConcurrentStreams = configuration.getMaxConcurrentStreams(); if (maxConcurrentStreams != -1) { http2Session.setLocalMaxConcurrentStreams(maxConcurrentStreams); } Http2Session.bind(connection, http2Session); return http2Session; }
if (checkCount++ > http2Configuration.getCleanFrequencyCheck() && streamsMap.size() > streamsHighWaterMark) { checkCount = 0; int maxCount = Float.valueOf(streamsHighWaterMark * http2Configuration.getCleanPercentage()).intValue(); int count = 0; for (final Iterator<Map.Entry<Integer,Http2Stream>> streamIds = streamsMap.entrySet().iterator(); (streamIds.hasNext() && count < maxCount);) {
streamsHighWaterMark = Float.valueOf( getDefaultMaxConcurrentStreams() * http2Configuration.getStreamsHighWaterMark()) .intValue(); : getSpecDefaultFramePayloadSize(); maxHeaderListSize = handlerFilter.getConfiguration().getMaxHeaderListSize();
private Http2ServerFilter updateFilterChain(final FilterChainBuilder builder) { final int codecFilterIdx = builder.indexOfType( org.glassfish.grizzly.http.HttpServerFilter.class); final Http2ServerFilter http2HandlerFilter = new Http2ServerFilter(http2Configuration); http2HandlerFilter.setLocalMaxFramePayloadSize(http2Configuration.getMaxFramePayloadSize()); builder.add(codecFilterIdx + 1, http2HandlerFilter); return http2HandlerFilter; }
protected SettingsFrame.SettingsFrameBuilder prepareSettings( final Http2Session http2Session) { SettingsFrame.SettingsFrameBuilder builder = SettingsFrame.builder(); final int maxConcStreams = getConfiguration().getMaxConcurrentStreams(); if (maxConcStreams != -1 && maxConcStreams != http2Session.getDefaultMaxConcurrentStreams()) { builder.setting(SETTINGS_MAX_CONCURRENT_STREAMS, maxConcStreams); } final int initWindSize = getConfiguration().getInitialWindowSize(); if (initWindSize != -1 && http2Session != null && initWindSize != http2Session.getDefaultStreamWindowSize()) { builder.setting(SETTINGS_INITIAL_WINDOW_SIZE, initWindSize); } builder.setting(SETTINGS_ENABLE_PUSH, ((getConfiguration().isPushEnabled()) ? 1 : 0)); return builder; }
/** * Constructs Http2HandlerFilter. */ public Http2BaseFilter(final Http2Configuration configuration) { this.configuration = configuration; final ThreadPoolConfig tpConfig = configuration.getThreadPoolConfig(); threadPool = ((tpConfig != null) ? GrizzlyExecutorService.createInstance(tpConfig) : configuration.getExecutorService()); }
/** * Creates {@link Http2Session} with pre-configured initial-windows-size and * max-concurrent-streams * @param connection the TCP {@link Connection} * @param isServer flag indicating whether this connection is server side or not. * @return {@link Http2Session} */ protected Http2Session createHttp2Session(final Connection connection, final boolean isServer) { final Http2Session http2Session = new Http2Session(connection, isServer, this); final int initialWindowSize = configuration.getInitialWindowSize(); if (initialWindowSize != -1) { http2Session.setLocalStreamWindowSize(initialWindowSize); } final int maxConcurrentStreams = configuration.getMaxConcurrentStreams(); if (maxConcurrentStreams != -1) { http2Session.setLocalMaxConcurrentStreams(maxConcurrentStreams); } Http2Session.bind(connection, http2Session); return http2Session; }
if (checkCount++ > http2Configuration.getCleanFrequencyCheck() && streamsMap.size() > streamsHighWaterMark) { checkCount = 0; int maxCount = Float.valueOf(streamsHighWaterMark * http2Configuration.getCleanPercentage()).intValue(); int count = 0; for (final Iterator<Map.Entry<Integer,Http2Stream>> streamIds = streamsMap.entrySet().iterator(); (streamIds.hasNext() && count < maxCount);) {
streamsHighWaterMark = Float.valueOf( getDefaultMaxConcurrentStreams() * http2Configuration.getStreamsHighWaterMark()) .intValue(); : getSpecDefaultFramePayloadSize(); maxHeaderListSize = handlerFilter.getConfiguration().getMaxHeaderListSize();
@SuppressWarnings("unused") public Http2AddOn() { this(Http2Configuration.builder().build()); }
/** * @return a new {@link Http2Configuration} instances based on the values of this builder. */ public Http2Configuration build() { return new Http2Configuration(this); } }