- java.lang.Object
-
- io.netty5.util.collection.CharObjectHashMap<Long>
-
- io.netty5.handler.codec.http2.Http2Settings
-
- All Implemented Interfaces:
CharObjectMap<Long>
,Map<Character,Long>
@UnstableApi public final class Http2Settings extends CharObjectHashMap<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.netty5.util.collection.CharObjectMap
CharObjectMap.PrimitiveEntry<V>
-
-
Field Summary
-
Fields inherited from class io.netty5.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 Http2Settings
copyFrom(Http2Settings settings)
Clears and then copies the given settings into this object.static Http2Settings
defaultSettings()
Integer
getIntValue(char key)
A helper method that returnsLong.intValue()
on the return ofCharObjectHashMap.get(char)
, if present.Long
headerTableSize()
Gets theSETTINGS_HEADER_TABLE_SIZE
value.Http2Settings
headerTableSize(long value)
Sets theSETTINGS_HEADER_TABLE_SIZE
value.Integer
initialWindowSize()
Gets theSETTINGS_INITIAL_WINDOW_SIZE
value.Http2Settings
initialWindowSize(int value)
Sets theSETTINGS_INITIAL_WINDOW_SIZE
value.protected String
keyToString(char key)
Helper method called byCharObjectHashMap.toString()
in order to convert a single map key into a string.Long
maxConcurrentStreams()
Gets theSETTINGS_MAX_CONCURRENT_STREAMS
value.Http2Settings
maxConcurrentStreams(long value)
Sets theSETTINGS_MAX_CONCURRENT_STREAMS
value.Integer
maxFrameSize()
Gets theSETTINGS_MAX_FRAME_SIZE
value.Http2Settings
maxFrameSize(int value)
Sets theSETTINGS_MAX_FRAME_SIZE
value.Long
maxHeaderListSize()
Gets theSETTINGS_MAX_HEADER_LIST_SIZE
value.Http2Settings
maxHeaderListSize(long value)
Sets theSETTINGS_MAX_HEADER_LIST_SIZE
value.Boolean
pushEnabled()
Gets theSETTINGS_ENABLE_PUSH
value.Http2Settings
pushEnabled(boolean enabled)
Sets theSETTINGS_ENABLE_PUSH
value.Long
put(char key, Long value)
Adds the given setting key/value pair.-
Methods inherited from class io.netty5.util.collection.CharObjectHashMap
clear, containsKey, containsKey, containsValue, entries, entrySet, equals, get, get, hashCode, isEmpty, keySet, put, putAll, remove, remove, size, toString, values
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.util.Map
compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, merge, putIfAbsent, remove, replace, replace, replaceAll
-
-
-
-
Method Detail
-
put
public Long put(char key, 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:
put
in interfaceCharObjectMap<Long>
- Overrides:
put
in classCharObjectHashMap<Long>
- Parameters:
key
- the key of the entry.value
- the value of the entry.- Returns:
- the previous value for this key or
null
if there was no previous mapping. - Throws:
IllegalArgumentException
- if verification for a standard HTTP/2 setting fails.
-
headerTableSize
public Long headerTableSize()
Gets theSETTINGS_HEADER_TABLE_SIZE
value. If unavailable, returnsnull
.
-
headerTableSize
public Http2Settings headerTableSize(long value)
Sets theSETTINGS_HEADER_TABLE_SIZE
value.- Throws:
IllegalArgumentException
- if verification of the setting fails.
-
pushEnabled
public Boolean pushEnabled()
Gets theSETTINGS_ENABLE_PUSH
value. If unavailable, returnsnull
.
-
pushEnabled
public Http2Settings pushEnabled(boolean enabled)
Sets theSETTINGS_ENABLE_PUSH
value.
-
maxConcurrentStreams
public Long maxConcurrentStreams()
Gets theSETTINGS_MAX_CONCURRENT_STREAMS
value. If unavailable, returnsnull
.
-
maxConcurrentStreams
public Http2Settings maxConcurrentStreams(long value)
Sets theSETTINGS_MAX_CONCURRENT_STREAMS
value.- Throws:
IllegalArgumentException
- if verification of the setting fails.
-
initialWindowSize
public Integer initialWindowSize()
Gets theSETTINGS_INITIAL_WINDOW_SIZE
value. If unavailable, returnsnull
.
-
initialWindowSize
public Http2Settings initialWindowSize(int value)
Sets theSETTINGS_INITIAL_WINDOW_SIZE
value.- Throws:
IllegalArgumentException
- if verification of the setting fails.
-
maxFrameSize
public Integer maxFrameSize()
Gets theSETTINGS_MAX_FRAME_SIZE
value. If unavailable, returnsnull
.
-
maxFrameSize
public Http2Settings maxFrameSize(int value)
Sets theSETTINGS_MAX_FRAME_SIZE
value.- Throws:
IllegalArgumentException
- if verification of the setting fails.
-
maxHeaderListSize
public Long maxHeaderListSize()
Gets theSETTINGS_MAX_HEADER_LIST_SIZE
value. If unavailable, returnsnull
.
-
maxHeaderListSize
public Http2Settings maxHeaderListSize(long value)
Sets theSETTINGS_MAX_HEADER_LIST_SIZE
value.- Throws:
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 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.
-
keyToString
protected String keyToString(char key)
Description copied from class:CharObjectHashMap
Helper 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:
keyToString
in classCharObjectHashMap<Long>
-
defaultSettings
public static Http2Settings defaultSettings()
-
-