| Modifier and Type | Class and Description |
|---|---|
| private static record |
| Modifier and Type | Field and Description |
|---|---|
| private long | |
| private long | |
| private final int | |
| private HeaderField[] | |
| private final boolean | |
| pack-priv static final long | |
| public static final long | |
| private long | |
| private final Map | |
| private static final int | |
| private final Queue | |
| private final ReentrantReadWriteLock | |
| pack-priv final QPACK. | |
| private static final int | |
| private long | |
| private long | |
| private long | |
| private long |
| Access | Constructor and Description |
|---|---|
| public | |
| public |
| Modifier and Type | Method and Description |
|---|---|
| private void | |
| public long | |
| public CompletableFuture | |
| private boolean | |
| public long | |
| public boolean | |
| private static boolean | completeIf(Predicate<DynamicTable.
|
| public long | |
| public long | duplicateWithEncoderStreamUpdate(EncoderInstructionsWriter writer, long absoluteEntryId, QueuingStreamPair encoderStreams, Encoder.
|
| private void | |
| private boolean | Returns: true if entry was evicted,
false if nothing to removeEvicts one entry from the table tail. |
| public HeaderField | Returns: retrieved header fieldan entry unique index uniqueID)Implements jdk. Retrieves a header field by its absolute index. |
| private int | |
| public HeaderField | Returns: retrieved header fieldindex relative to the most recently inserted entry relativeId)Retrieves a header field by its relative index. |
| public static long | |
| public static long | |
| private boolean | |
| public long | Returns: unique index of an entry added to the table. If element cannot be added-1 is returned.header name name, String header value value)Implements jdk. Add an entry to the dynamic table. |
| public long | Returns: unique index of an entry added to the table. If element cannot be added-1 is returned.index of the header name to add nameIndex, boolean if name index references static table header name isStaticIndex, String header value value)Add entry to the dynamic table with name specified as index in static or dynamic table. |
| public long | Returns: unique index of an entry added to the table. If element cannot be added-1 is returned.header name name, String header value value, Encoder.unacknowledged section references sectionReferenceAdd an entry to the dynamic table. |
| private long | |
| public long | Returns: number of elements in the dynamic tableMethod returns number of elements inserted to the dynamic table. |
| public long | Returns: absolute id of inserted entry OR already available entry, -1L if entry cannot be addedtable entry to add entry, EncoderInstructionsWriter non-configured encoder instruction writer for generating encoder
instruction writer, QueuingStreamPair encoder stream pair encoderStreams, Encoder.encoder encoding context encodingContextInserts an entry to the dynamic table and sends encoder insert instruction bytes to the peer decoder. |
| public long | |
| public long | Returns: max entriesReturns maximum possible number of entries that could be stored in the dynamic table with respect to MAX_CAPACITY setting. |
| private void | |
| private HeaderField | |
| private void | |
| public long | Returns: positive index if name:value match found, negative index if only name match found, 0 if no match founda name to search for name, String a value to search for value)Implements jdk. Search an absolute id of a name:value pair in the dynamic table. |
| public void | |
| public void | setCapacityWithEncoderStreamUpdate(EncoderInstructionsWriter
non-configured encoder instruction writer for generating encoder instruction writer, long new capacity value capacity, QueuingStreamPair encoder stream pair encoderStreams)Updates the capacity of the dynamic table and sends encoder capacity update instruction bytes to the peer decoder. |
| public void | setMaxTableCapacity(long
a non-negative long maxCapacity)Sets a maximum capacity in bytes of the dynamic table. |
| public long | |
| public long | Returns: relative entry indexabsolute index of an entry absoluteId)Converts absolute entry index to relative index that can be used in the encoder instructions. |
| public String | |
| public boolean | |
| private void | |
| private double | |
| private void | writeEncoderInstruction(EncoderInstructionsWriter writer, int instructionSize, QueuingStreamPair encoderStreams)
|
| capacity | back to summary |
|---|---|
| private long capacity | |
| drain | back to summary |
|---|---|
| private long drain | |
| drainUsedSpaceThreshold | back to summary |
|---|---|
| private final int drainUsedSpaceThreshold | |
| elements | back to summary |
|---|---|
| private HeaderField[] elements | |
| encoderTable | back to summary |
|---|---|
| private final boolean encoderTable | |
| ENTRY_NOT_INSERTED | back to summary |
|---|---|
| pack-priv static final long ENTRY_NOT_INSERTED | |
| ENTRY_SIZE | back to summary |
|---|---|
| public static final long ENTRY_SIZE | |
| head | back to summary |
|---|---|
| private long head | |
| indicesMap | back to summary |
|---|---|
| private final Map<String, Map<String, Deque<Long>>> indicesMap | |
| INITIAL_HOLDER_ARRAY_LENGTH | back to summary |
|---|---|
| private static final int INITIAL_HOLDER_ARRAY_LENGTH | |
| insertCountNotifications | back to summary |
|---|---|
| private final Queue<DynamicTable. | |
| lock | back to summary |
|---|---|
| private final ReentrantReadWriteLock lock | |
| logger | back to summary |
|---|---|
| pack-priv final QPACK. | |
| MAX_BUFFER_SIZE | back to summary |
|---|---|
| private static final int MAX_BUFFER_SIZE | |
| maxCapacity | back to summary |
|---|---|
| private long maxCapacity | |
| maxEntries | back to summary |
|---|---|
| private long maxEntries | |
| size | back to summary |
|---|---|
| private long size | |
| tail | back to summary |
|---|---|
| private long tail | |
| DynamicTable | back to summary |
|---|---|
| public DynamicTable(QPACK. | |
| DynamicTable | back to summary |
|---|---|
| public DynamicTable(QPACK. | |
| addWithInverseMapping | back to summary |
|---|---|
| private void addWithInverseMapping(HeaderField field) | |
| availableEvictableSpace | back to summary |
|---|---|
| public long availableEvictableSpace(Encoder. | |
| awaitFutureInsertCount | back to summary |
|---|---|
| public CompletableFuture | |
| canReferenceEntry | back to summary |
|---|---|
| private boolean canReferenceEntry(long absId) | |
| capacity | back to summary |
|---|---|
| public long capacity() Returns current capacity of the dynamic table
| |
| cleanupStreamInsertCountNotifications | back to summary |
|---|---|
| public boolean cleanupStreamInsertCountNotifications(long streamId) | |
| completeIf | back to summary |
|---|---|
| private static boolean completeIf(Predicate<DynamicTable. | |
| duplicate | back to summary |
|---|---|
| public long duplicate(long relativeId) | |
| duplicateWithEncoderStreamUpdate | back to summary |
|---|---|
| public long duplicateWithEncoderStreamUpdate(EncoderInstructionsWriter writer, long absoluteEntryId, QueuingStreamPair encoderStreams, Encoder. | |
| ensureElementsArrayLength | back to summary |
|---|---|
| private void ensureElementsArrayLength() | |
| evictEntry | back to summary |
|---|---|
| private boolean evictEntry() Evicts one entry from the table tail.
| |
| get | back to summary |
|---|---|
| public HeaderField get(long uniqueID) Implements jdk. Retrieves a header field by its absolute index. Entry referenced by an absolute index does not depend on the state of the dynamic table.
| |
| getElementsCount | back to summary |
|---|---|
| private int getElementsCount() | |
| getRelative | back to summary |
|---|---|
| public HeaderField getRelative(long relativeId) Retrieves a header field by its relative index. Entry referenced by a relative index depends on the state of the dynamic table.
| |
| headerSize | back to summary |
|---|---|
| public static long headerSize(HeaderField f) | |
| headerSize | back to summary |
|---|---|
| public static long headerSize(String name, String value) | |
| indexesUniqueAndOrdered | back to summary |
|---|---|
| private boolean indexesUniqueAndOrdered(Deque<Long> indexes) | |
| insert | back to summary |
|---|---|
| public long insert(String name, String value) Implements jdk. Add an entry to the dynamic table. Entries could be evicted from the dynamic table. Unacknowledged section references are not checked by this method, therefore this method is intended to be used by the decoder only. The encoder should use overloaded method that takes global unacknowledged section reference. | |
| insert | back to summary |
|---|---|
| public long insert(long nameIndex, boolean isStaticIndex, String value) Add entry to the dynamic table with name specified as index in static or dynamic table. Entries could be evicted from the dynamic table. Unacknowledged section references are not checked by this method, therefore this method is intended to be used by the decoder only. The encoder should use overloaded method that takes global unacknowledged section reference.
| |
| insert | back to summary |
|---|---|
| public long insert(String name, String value, Encoder. Add an entry to the dynamic table. Entries could be evicted from the dynamic table. The supplied unacknowledged section references are checked by this method to check if entries are evictable. Such checks are performed when there is not enough space in the dynamic table to insert the requested header. This method is intended to be used by the encoder only.
| |
| insert | back to summary |
|---|---|
| private long insert(HeaderField h, Encoder. | |
| insertCount | back to summary |
|---|---|
| public long insertCount() Method returns number of elements inserted to the dynamic table. Since element ids start from 0 the returned value is equal to the id of the head element plus one.
| |
| insertWithEncoderStreamUpdate | back to summary |
|---|---|
| public long insertWithEncoderStreamUpdate(TableEntry entry, EncoderInstructionsWriter writer, QueuingStreamPair encoderStreams, Encoder. Inserts an entry to the dynamic table and sends encoder insert instruction bytes
to the peer decoder.
This method is designated to be used by the
| |
| maxCapacity | back to summary |
|---|---|
| public long maxCapacity() Returns a maximum capacity in bytes of the dynamic table.
| |
| maxEntries | back to summary |
|---|---|
| public long maxEntries() Returns maximum possible number of entries that could be stored in the dynamic table with respect to MAX_CAPACITY setting.
| |
| notifyInsertCountChange | back to summary |
|---|---|
| private void notifyInsertCountChange() | |
| remove | back to summary |
|---|---|
| private HeaderField remove() | |
| resize | back to summary |
|---|---|
| private void resize(int newSize) | |
| search | back to summary |
|---|---|
| public long search(String name, String value) Implements jdk. Search an absolute id of a name:value pair in the dynamic table. | |
| setCapacity | back to summary |
|---|---|
| public void setCapacity(long capacity) Sets the dynamic table capacity in bytes. The new capacity must be lower than or equal to the limit defined by SETTINGS_QPACK_MAX_TABLE_CAPACITY HTTP/3 settings parameter. This limit is enforced by DynamicTable#setMaxTableCapacity(long).
| |
| setCapacityWithEncoderStreamUpdate | back to summary |
|---|---|
| public void setCapacityWithEncoderStreamUpdate(EncoderInstructionsWriter writer, long capacity, QueuingStreamPair encoderStreams) Updates the capacity of the dynamic table and sends encoder capacity update instruction
bytes to the peer decoder.
This method is designated to be used by the
| |
| setMaxTableCapacity | back to summary |
|---|---|
| public void setMaxTableCapacity(long maxCapacity) Sets a maximum capacity in bytes of the dynamic table. The value has to be agreed between decoder and encoder out-of-band, e.g. by a protocol that uses QPACK (see 3.2.3 Maximum Dynamic Table Capacity). May be called only once to set maximum dynamic table capacity. This method doesn't change the actual capacity of the dynamic table.
| |
| size | back to summary |
|---|---|
| public long size() Returns size of the dynamic table in bytes
| |
| toRelative | back to summary |
|---|---|
| public long toRelative(long absoluteId) Converts absolute entry index to relative index that can be used in the encoder instructions. Relative index of 0 refers to the most recently inserted entry.
| |
| toString | back to summary |
|---|---|
| public String toString() Overrides java. Doc from java. Returns a string representation of the object.
Satisfying this method's contract implies a non-
| |
| tryReferenceEntry | back to summary |
|---|---|
| public boolean tryReferenceEntry(TableEntry tableEntry, Encoder. | |
| updateDrainIndex | back to summary |
|---|---|
| private void updateDrainIndex() | |
| usedSpace | back to summary |
|---|---|
| private double usedSpace() | |
| writeEncoderInstruction | back to summary |
|---|---|
| private void writeEncoderInstruction(EncoderInstructionsWriter writer, int instructionSize, QueuingStreamPair encoderStreams) | |
| Modifier and Type | Field and Description |
|---|---|
| private final CompletableFuture | completion
Record Component accessed by completion(). |
| private final long | minimumRIC
Record Component accessed by minimumRIC(). |
| private final long | streamId
Record Component accessed by streamId(). |
| Access | Constructor and Description |
|---|---|
| private |
| Modifier and Type | Method and Description |
|---|---|
| public CompletableFuture | |
| public final boolean | equals(Object o)
Implements abstract java. Indicates whether some other object is "equal to" this one. |
| public final int | |
| public boolean | |
| public boolean | |
| public long | |
| public long | |
| public final String | toString()
Implements abstract java. Returns a string representation of the record. |
| completion | back to summary |
|---|---|
| private final CompletableFuture<Void> completion Record Component accessed by completion(). | |
| minimumRIC | back to summary |
|---|---|
| private final long minimumRIC Record Component accessed by minimumRIC(). | |
| streamId | back to summary |
|---|---|
| private final long streamId Record Component accessed by streamId(). | |
| TableInsertCountNotification | back to summary |
|---|---|
| private TableInsertCountNotification(long streamId, long minimumRIC, CompletableFuture<Void> completion) | |
| completion | back to summary |
|---|---|
| public CompletableFuture Record Component getter of completion. | |
| equals | back to summary |
|---|---|
| public final boolean equals(Object o) Implements abstract java. Doc from java. Indicates whether some other object is "equal to" this one. In addition
to the general contract of
R copy = new R(r.c1(), r.c2(), ..., r.cn());
then it must be the case that r.equals(copy).
| |
| hashCode | back to summary |
|---|---|
| public final int hashCode() Implements abstract java. Doc from java. Returns a hash code value for the record.
Obeys the general contract of | |
| isFulfilled | back to summary |
|---|---|
| public boolean isFulfilled(long insertionCount) | |
| isStreamId | back to summary |
|---|---|
| public boolean isStreamId(long streamId) | |
| minimumRIC | back to summary |
|---|---|
| public long minimumRIC() Record Component getter of minimumRIC. | |
| streamId | back to summary |
|---|---|
| public long streamId() Record Component getter of streamId. | |
| toString | back to summary |
|---|---|
| public final String toString() Implements abstract java. Doc from java. Returns a string representation of the record.
In accordance with the general contract of In addition to this general contract, record classes must further participate in the invariant that any two records which are equal must produce equal strings. This invariant is necessarily relaxed in the rare case where corresponding equal component values might fail to produce equal strings for themselves. | |