package com.firefly.codec.http2.stream;

public class HTTP2Configuration {

	private boolean secure;
	private int maxDynamicTableSize = 4096;
	private int streamIdleTimeout;
	private String flowControlStrategy = "buffer";
	private int initialStreamSendWindow = FlowControlStrategy.DEFAULT_WINDOW_SIZE;
	private int maxConcurrentStreams = -1;
	private int maxHeaderBlockFragment = 0;
	private int maxRequestHeadLength = 16 * 1024;

	public boolean isSecure() {
		return secure;
	}

	public void setSecure(boolean secure) {
		this.secure = secure;
	}

	public int getMaxDynamicTableSize() {
		return maxDynamicTableSize;
	}

	public void setMaxDynamicTableSize(int maxDynamicTableSize) {
		this.maxDynamicTableSize = maxDynamicTableSize;
	}

	public int getStreamIdleTimeout() {
		return streamIdleTimeout;
	}

	public void setStreamIdleTimeout(int streamIdleTimeout) {
		this.streamIdleTimeout = streamIdleTimeout;
	}

	public String getFlowControlStrategy() {
		return flowControlStrategy;
	}

	public void setFlowControlStrategy(String flowControlStrategy) {
		this.flowControlStrategy = flowControlStrategy;
	}

	public int getInitialStreamSendWindow() {
		return initialStreamSendWindow;
	}

	public void setInitialStreamSendWindow(int initialStreamSendWindow) {
		this.initialStreamSendWindow = initialStreamSendWindow;
	}

	public int getMaxConcurrentStreams() {
		return maxConcurrentStreams;
	}

	public void setMaxConcurrentStreams(int maxConcurrentStreams) {
		this.maxConcurrentStreams = maxConcurrentStreams;
	}

	public int getMaxHeaderBlockFragment() {
		return maxHeaderBlockFragment;
	}

	public void setMaxHeaderBlockFragment(int maxHeaderBlockFragment) {
		this.maxHeaderBlockFragment = maxHeaderBlockFragment;
	}

	public int getMaxRequestHeadLength() {
		return maxRequestHeadLength;
	}

	public void setMaxRequestHeadLength(int maxRequestHeadLength) {
		this.maxRequestHeadLength = maxRequestHeadLength;
	}

}

@@ -69,16 +69,37 @@
 tion %7B%0A%0A
+%09// SSL/TLS settings%0A
 %09private
@@ -115,16 +115,99 @@
 secure;%0A
+%09private String credentialPath, keystorePassword, keyPassword;%0A%0A%09// HTTP2 settings%0A
 %09private
@@ -532,127 +532,8 @@
 4;%0A%0A
-%09public boolean isSecure() %7B%0A%09%09return secure;%0A%09%7D%0A%0A%09public void setSecure(boolean secure) %7B%0A%09%09this.secure = secure;%0A%09%7D%0A%0A
 %09pub
@@ -1906,10 +1906,621 @@
 th;%0A%09%7D%0A%0A
+%09public boolean isSecure() %7B%0A%09%09return secure;%0A%09%7D%0A%0A%09public void setSecure(boolean secure) %7B%0A%09%09this.secure = secure;%0A%09%7D%0A%0A%09public String getCredentialPath() %7B%0A%09%09return credentialPath;%0A%09%7D%0A%0A%09public void setCredentialPath(String credentialPath) %7B%0A%09%09this.credentialPath = credentialPath;%0A%09%7D%0A%0A%09public String getKeystorePassword() %7B%0A%09%09return keystorePassword;%0A%09%7D%0A%0A%09public void setKeystorePassword(String keystorePassword) %7B%0A%09%09this.keystorePassword = keystorePassword;%0A%09%7D%0A%0A%09public String getKeyPassword() %7B%0A%09%09return keyPassword;%0A%09%7D%0A%0A%09public void setKeyPassword(String keyPassword) %7B%0A%09%09this.keyPassword = keyPassword;%0A%09%7D%0A%0A
 %7D%0A

add SSL/TLS settings