setCapacity() — netty Function Reference
Architecture documentation for the setCapacity() function in HpackDynamicTable.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 6eb146ec_7738_9327_a090_71feef80629d["setCapacity()"] feed71e9_4455_9bda_6187_d37edd627c61["HpackDynamicTable"] 6eb146ec_7738_9327_a090_71feef80629d -->|defined in| feed71e9_4455_9bda_6187_d37edd627c61 dadc6b8a_e343_c864_4e2a_037e0d00e2e2["HpackDynamicTable()"] dadc6b8a_e343_c864_4e2a_037e0d00e2e2 -->|calls| 6eb146ec_7738_9327_a090_71feef80629d 61b2a680_e65a_da65_797a_cdbf7d0f1757["clear()"] 6eb146ec_7738_9327_a090_71feef80629d -->|calls| 61b2a680_e65a_da65_797a_cdbf7d0f1757 d5ad6030_d26c_c0ab_aa8c_77ac80f9a8b6["length()"] 6eb146ec_7738_9327_a090_71feef80629d -->|calls| d5ad6030_d26c_c0ab_aa8c_77ac80f9a8b6 style 6eb146ec_7738_9327_a090_71feef80629d fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
codec-http2/src/main/java/io/netty/handler/codec/http2/HpackDynamicTable.java lines 153–200
public void setCapacity(long capacity) {
if (capacity < MIN_HEADER_TABLE_SIZE || capacity > MAX_HEADER_TABLE_SIZE) {
throw new IllegalArgumentException("capacity is invalid: " + capacity);
}
// initially capacity will be -1 so init won't return here
if (this.capacity == capacity) {
return;
}
this.capacity = capacity;
if (capacity == 0) {
clear();
} else {
// initially size will be 0 so remove won't be called
while (size > capacity) {
remove();
}
}
int maxEntries = (int) (capacity / HpackHeaderField.HEADER_ENTRY_OVERHEAD);
if (capacity % HpackHeaderField.HEADER_ENTRY_OVERHEAD != 0) {
maxEntries++;
}
// check if capacity change requires us to reallocate the array
if (hpackHeaderFields != null && hpackHeaderFields.length == maxEntries) {
return;
}
HpackHeaderField[] tmp = new HpackHeaderField[maxEntries];
// initially length will be 0 so there will be no copy
int len = length();
if (hpackHeaderFields != null) {
int cursor = tail;
for (int i = 0; i < len; i++) {
HpackHeaderField entry = hpackHeaderFields[cursor++];
tmp[i] = entry;
if (cursor == hpackHeaderFields.length) {
cursor = 0;
}
}
}
tail = 0;
head = tail + len;
hpackHeaderFields = tmp;
}
Domain
Subdomains
Called By
Source
Frequently Asked Questions
What does setCapacity() do?
setCapacity() is a function in the netty codebase, defined in codec-http2/src/main/java/io/netty/handler/codec/http2/HpackDynamicTable.java.
Where is setCapacity() defined?
setCapacity() is defined in codec-http2/src/main/java/io/netty/handler/codec/http2/HpackDynamicTable.java at line 153.
What does setCapacity() call?
setCapacity() calls 2 function(s): clear, length.
What calls setCapacity()?
setCapacity() is called by 1 function(s): HpackDynamicTable.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free