Package io.netty.handler.codec.http2
Class Http2Settings
- java.lang.Object
-
- io.netty.util.collection.CharObjectHashMap<java.lang.Long>
-
- io.netty.handler.codec.http2.Http2Settings
-
- All Implemented Interfaces:
CharObjectMap<java.lang.Long>,java.util.Map<java.lang.Character,java.lang.Long>
@UnstableApi public final class Http2Settings extends CharObjectHashMap<java.lang.Long>
Settings for one endpoint in an HTTP/2 connection. Each of the values are optional as defined in the spec for the SETTINGS frame. Permits storage of arbitrary key/value pairs but provides helper methods for standard settings.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface io.netty.util.collection.CharObjectMap
CharObjectMap.PrimitiveEntry<V>
-
-
Field Summary
Fields Modifier and Type Field Description private static intDEFAULT_CAPACITYDefault capacity based on the number of standard settings from the HTTP/2 spec, adjusted so that adding all of the standard settings will not cause the map capacity to change.private static java.lang.LongFALSEprivate static java.lang.LongTRUE-
Fields inherited from class io.netty.util.collection.CharObjectHashMap
DEFAULT_LOAD_FACTOR
-
-
Constructor Summary
Constructors Constructor Description Http2Settings()Http2Settings(int initialCapacity)Http2Settings(int initialCapacity, float loadFactor)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Http2SettingscopyFrom(Http2Settings settings)Clears and then copies the given settings into this object.static Http2SettingsdefaultSettings()java.lang.IntegergetIntValue(char key)A helper method that returnsLong.intValue()on the return ofCharObjectHashMap.get(char), if present.java.lang.LongheaderTableSize()Gets theSETTINGS_HEADER_TABLE_SIZEvalue.Http2SettingsheaderTableSize(long value)Sets theSETTINGS_HEADER_TABLE_SIZEvalue.java.lang.IntegerinitialWindowSize()Gets theSETTINGS_INITIAL_WINDOW_SIZEvalue.Http2SettingsinitialWindowSize(int value)Sets theSETTINGS_INITIAL_WINDOW_SIZEvalue.protected java.lang.StringkeyToString(char key)Helper method called byCharObjectHashMap.toString()in order to convert a single map key into a string.java.lang.LongmaxConcurrentStreams()Gets theSETTINGS_MAX_CONCURRENT_STREAMSvalue.Http2SettingsmaxConcurrentStreams(long value)Sets theSETTINGS_MAX_CONCURRENT_STREAMSvalue.java.lang.IntegermaxFrameSize()Gets theSETTINGS_MAX_FRAME_SIZEvalue.Http2SettingsmaxFrameSize(int value)Sets theSETTINGS_MAX_FRAME_SIZEvalue.java.lang.LongmaxHeaderListSize()Gets theSETTINGS_MAX_HEADER_LIST_SIZEvalue.Http2SettingsmaxHeaderListSize(long value)Sets theSETTINGS_MAX_HEADER_LIST_SIZEvalue.java.lang.BooleanpushEnabled()Gets theSETTINGS_ENABLE_PUSHvalue.Http2SettingspushEnabled(boolean enabled)Sets theSETTINGS_ENABLE_PUSHvalue.java.lang.Longput(char key, java.lang.Long value)Adds the given setting key/value pair.private static voidverifyStandardSetting(int key, java.lang.Long value)-
Methods inherited from class io.netty.util.collection.CharObjectHashMap
clear, containsKey, containsKey, containsValue, entries, entrySet, equals, get, get, hashCode, isEmpty, keySet, put, putAll, remove, remove, size, toString, values
-
-
-
-
Field Detail
-
DEFAULT_CAPACITY
private static final int DEFAULT_CAPACITY
Default capacity based on the number of standard settings from the HTTP/2 spec, adjusted so that adding all of the standard settings will not cause the map capacity to change.- See Also:
- Constant Field Values
-
FALSE
private static final java.lang.Long FALSE
-
TRUE
private static final java.lang.Long TRUE
-
-
Method Detail
-
put
public java.lang.Long put(char key, java.lang.Long value)Adds the given setting key/value pair. For standard settings defined by the HTTP/2 spec, performs validation on the values.- Specified by:
putin interfaceCharObjectMap<java.lang.Long>- Overrides:
putin classCharObjectHashMap<java.lang.Long>- Parameters:
key- the key of the entry.value- the value of the entry.- Returns:
- the previous value for this key or
nullif there was no previous mapping. - Throws:
java.lang.IllegalArgumentException- if verification for a standard HTTP/2 setting fails.
-
headerTableSize
public java.lang.Long headerTableSize()
Gets theSETTINGS_HEADER_TABLE_SIZEvalue. If unavailable, returnsnull.
-
headerTableSize
public Http2Settings headerTableSize(long value)
Sets theSETTINGS_HEADER_TABLE_SIZEvalue.- Throws:
java.lang.IllegalArgumentException- if verification of the setting fails.
-
pushEnabled
public java.lang.Boolean pushEnabled()
Gets theSETTINGS_ENABLE_PUSHvalue. If unavailable, returnsnull.
-
pushEnabled
public Http2Settings pushEnabled(boolean enabled)
Sets theSETTINGS_ENABLE_PUSHvalue.
-
maxConcurrentStreams
public java.lang.Long maxConcurrentStreams()
Gets theSETTINGS_MAX_CONCURRENT_STREAMSvalue. If unavailable, returnsnull.
-
maxConcurrentStreams
public Http2Settings maxConcurrentStreams(long value)
Sets theSETTINGS_MAX_CONCURRENT_STREAMSvalue.- Throws:
java.lang.IllegalArgumentException- if verification of the setting fails.
-
initialWindowSize
public java.lang.Integer initialWindowSize()
Gets theSETTINGS_INITIAL_WINDOW_SIZEvalue. If unavailable, returnsnull.
-
initialWindowSize
public Http2Settings initialWindowSize(int value)
Sets theSETTINGS_INITIAL_WINDOW_SIZEvalue.- Throws:
java.lang.IllegalArgumentException- if verification of the setting fails.
-
maxFrameSize
public java.lang.Integer maxFrameSize()
Gets theSETTINGS_MAX_FRAME_SIZEvalue. If unavailable, returnsnull.
-
maxFrameSize
public Http2Settings maxFrameSize(int value)
Sets theSETTINGS_MAX_FRAME_SIZEvalue.- Throws:
java.lang.IllegalArgumentException- if verification of the setting fails.
-
maxHeaderListSize
public java.lang.Long maxHeaderListSize()
Gets theSETTINGS_MAX_HEADER_LIST_SIZEvalue. If unavailable, returnsnull.
-
maxHeaderListSize
public Http2Settings maxHeaderListSize(long value)
Sets theSETTINGS_MAX_HEADER_LIST_SIZEvalue.- Throws:
java.lang.IllegalArgumentException- if verification of the setting fails.
-
copyFrom
public Http2Settings copyFrom(Http2Settings settings)
Clears and then copies the given settings into this object.
-
getIntValue
public java.lang.Integer getIntValue(char key)
A helper method that returnsLong.intValue()on the return ofCharObjectHashMap.get(char), if present. Note that if the range of the value exceedsInteger.MAX_VALUE, theCharObjectHashMap.get(char)method should be used instead to avoid truncation of the value.
-
verifyStandardSetting
private static void verifyStandardSetting(int key, java.lang.Long value)
-
keyToString
protected java.lang.String keyToString(char key)
Description copied from class:CharObjectHashMapHelper method called byCharObjectHashMap.toString()in order to convert a single map key into a string. This is protected to allow subclasses to override the appearance of a given key.- Overrides:
keyToStringin classCharObjectHashMap<java.lang.Long>
-
defaultSettings
public static Http2Settings defaultSettings()
-
-