private void sendSettingsAck() { if(!initialSettingsSent) { sendSettings(); initialSettingsSent = true; } Http2SettingsStreamSinkChannel stream = new Http2SettingsStreamSinkChannel(this); flushChannelIgnoreFailure(stream); }
@Override protected SendFrameHeader createFrameHeaderImpl() { PooledByteBuffer pooled = getChannel().getBufferPool().allocate(); ByteBuffer currentBuffer = pooled.getBuffer(); if (settings != null) { currentBuffer.put((byte) Http2Channel.FRAME_TYPE_SETTINGS); //type currentBuffer.put((byte) 0); //flags Http2ProtocolUtils.putInt(currentBuffer, getStreamId()); for (Http2Setting setting : settings) { currentBuffer.put((byte) ((setting.getId() >> 8) & 0xFF)); currentBuffer.put((byte) Http2Channel.FRAME_TYPE_SETTINGS); //type currentBuffer.put((byte) Http2Channel.SETTINGS_FLAG_ACK); //flags Http2ProtocolUtils.putInt(currentBuffer, getStreamId());
@Override protected SendFrameHeader createFrameHeaderImpl() { PooledByteBuffer pooled = getChannel().getBufferPool().allocate(); ByteBuffer currentBuffer = pooled.getBuffer(); if (settings != null) { currentBuffer.put((byte) Http2Channel.FRAME_TYPE_SETTINGS); //type currentBuffer.put((byte) 0); //flags Http2ProtocolUtils.putInt(currentBuffer, getStreamId()); for (Http2Setting setting : settings) { currentBuffer.put((byte) ((setting.getId() >> 8) & 0xFF)); currentBuffer.put((byte) Http2Channel.FRAME_TYPE_SETTINGS); //type currentBuffer.put((byte) Http2Channel.SETTINGS_FLAG_ACK); //flags Http2ProtocolUtils.putInt(currentBuffer, getStreamId());
private void sendSettings() { List<Http2Setting> settings = new ArrayList<>(); settings.add(new Http2Setting(Http2Setting.SETTINGS_HEADER_TABLE_SIZE, encoderHeaderTableSize)); if(isClient()) { settings.add(new Http2Setting(Http2Setting.SETTINGS_ENABLE_PUSH, pushEnabled ? 1 : 0)); } settings.add(new Http2Setting(Http2Setting.SETTINGS_MAX_FRAME_SIZE, receiveMaxFrameSize)); settings.add(new Http2Setting(Http2Setting.SETTINGS_INITIAL_WINDOW_SIZE, initialReceiveWindowSize)); if(maxHeaderListSize > 0) { settings.add(new Http2Setting(Http2Setting.SETTINGS_MAX_HEADER_LIST_SIZE, maxHeaderListSize)); } if(receiveMaxConcurrentStreams > 0) { settings.add(new Http2Setting(Http2Setting.SETTINGS_MAX_CONCURRENT_STREAMS, receiveMaxConcurrentStreams)); } Http2SettingsStreamSinkChannel stream = new Http2SettingsStreamSinkChannel(this, settings); flushChannelIgnoreFailure(stream); }
@Override protected SendFrameHeader createFrameHeaderImpl() { PooledByteBuffer pooled = getChannel().getBufferPool().allocate(); ByteBuffer currentBuffer = pooled.getBuffer(); if (settings != null) { currentBuffer.put((byte) Http2Channel.FRAME_TYPE_SETTINGS); //type currentBuffer.put((byte) 0); //flags Http2ProtocolUtils.putInt(currentBuffer, getStreamId()); for (Http2Setting setting : settings) { currentBuffer.put((byte) ((setting.getId() >> 8) & 0xFF)); currentBuffer.put((byte) Http2Channel.FRAME_TYPE_SETTINGS); //type currentBuffer.put((byte) Http2Channel.SETTINGS_FLAG_ACK); //flags Http2ProtocolUtils.putInt(currentBuffer, getStreamId());
private void sendSettingsAck() { if(!initialSettingsSent) { sendSettings(); initialSettingsSent = true; } Http2SettingsStreamSinkChannel stream = new Http2SettingsStreamSinkChannel(this); flushChannelIgnoreFailure(stream); }
private void sendSettingsAck() { if(!initialSettingsSent) { sendSettings(); initialSettingsSent = true; } Http2SettingsStreamSinkChannel stream = new Http2SettingsStreamSinkChannel(this); flushChannelIgnoreFailure(stream); }
private void sendSettings() { List<Http2Setting> settings = new ArrayList<>(); settings.add(new Http2Setting(Http2Setting.SETTINGS_HEADER_TABLE_SIZE, encoderHeaderTableSize)); if(isClient()) { settings.add(new Http2Setting(Http2Setting.SETTINGS_ENABLE_PUSH, pushEnabled ? 1 : 0)); } settings.add(new Http2Setting(Http2Setting.SETTINGS_MAX_FRAME_SIZE, receiveMaxFrameSize)); settings.add(new Http2Setting(Http2Setting.SETTINGS_INITIAL_WINDOW_SIZE, initialReceiveWindowSize)); if(maxHeaderListSize > 0) { settings.add(new Http2Setting(Http2Setting.SETTINGS_MAX_HEADER_LIST_SIZE, maxHeaderListSize)); } if(receiveMaxConcurrentStreams > 0) { settings.add(new Http2Setting(Http2Setting.SETTINGS_MAX_CONCURRENT_STREAMS, receiveMaxConcurrentStreams)); } Http2SettingsStreamSinkChannel stream = new Http2SettingsStreamSinkChannel(this, settings); flushChannelIgnoreFailure(stream); }
private void sendSettings() { List<Http2Setting> settings = new ArrayList<>(); settings.add(new Http2Setting(Http2Setting.SETTINGS_HEADER_TABLE_SIZE, encoderHeaderTableSize)); if(isClient()) { settings.add(new Http2Setting(Http2Setting.SETTINGS_ENABLE_PUSH, pushEnabled ? 1 : 0)); } settings.add(new Http2Setting(Http2Setting.SETTINGS_MAX_FRAME_SIZE, receiveMaxFrameSize)); settings.add(new Http2Setting(Http2Setting.SETTINGS_INITIAL_WINDOW_SIZE, initialReceiveWindowSize)); if(maxHeaderListSize > 0) { settings.add(new Http2Setting(Http2Setting.SETTINGS_MAX_HEADER_LIST_SIZE, maxHeaderListSize)); } if(receiveMaxConcurrentStreams > 0) { settings.add(new Http2Setting(Http2Setting.SETTINGS_MAX_CONCURRENT_STREAMS, receiveMaxConcurrentStreams)); } Http2SettingsStreamSinkChannel stream = new Http2SettingsStreamSinkChannel(this, settings); flushChannelIgnoreFailure(stream); }