StreamState Class — netty Architecture
Architecture documentation for the StreamState class in SpdySession.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 589a9899_b8db_cc45_ce79_726a13b35861["StreamState"] 957efa9e_42dd_908d_9fe3_af64cf28b05f["SpdySession.java"] 589a9899_b8db_cc45_ce79_726a13b35861 -->|defined in| 957efa9e_42dd_908d_9fe3_af64cf28b05f 1115b459_503e_d9f7_1645_aefceb20efeb["StreamState()"] 589a9899_b8db_cc45_ce79_726a13b35861 -->|method| 1115b459_503e_d9f7_1645_aefceb20efeb af17e567_3cb5_599f_3773_8a9cc1a1ee53["getPriority()"] 589a9899_b8db_cc45_ce79_726a13b35861 -->|method| af17e567_3cb5_599f_3773_8a9cc1a1ee53 d6fc31aa_a6dc_d970_b415_c4655d9cf0e1["isRemoteSideClosed()"] 589a9899_b8db_cc45_ce79_726a13b35861 -->|method| d6fc31aa_a6dc_d970_b415_c4655d9cf0e1 2fce917c_fc90_0cc3_5cda_c64a51085187["closeRemoteSide()"] 589a9899_b8db_cc45_ce79_726a13b35861 -->|method| 2fce917c_fc90_0cc3_5cda_c64a51085187 ca79eaac_a013_7969_4bbe_206889d1bba8["isLocalSideClosed()"] 589a9899_b8db_cc45_ce79_726a13b35861 -->|method| ca79eaac_a013_7969_4bbe_206889d1bba8 9350fc02_973e_377e_f29c_41c518e69eec["closeLocalSide()"] 589a9899_b8db_cc45_ce79_726a13b35861 -->|method| 9350fc02_973e_377e_f29c_41c518e69eec ddb96814_98a7_7111_ae6d_01ea60444dbb["hasReceivedReply()"] 589a9899_b8db_cc45_ce79_726a13b35861 -->|method| ddb96814_98a7_7111_ae6d_01ea60444dbb 1e0c70ec_4601_f534_2049_8d42a44f7221["receivedReply()"] 589a9899_b8db_cc45_ce79_726a13b35861 -->|method| 1e0c70ec_4601_f534_2049_8d42a44f7221 3bcbc20d_6da5_dffd_0ed3_b8024a177e7c["getSendWindowSize()"] 589a9899_b8db_cc45_ce79_726a13b35861 -->|method| 3bcbc20d_6da5_dffd_0ed3_b8024a177e7c 5741002c_9c87_22ac_cf3c_b32d8592aff0["updateSendWindowSize()"] 589a9899_b8db_cc45_ce79_726a13b35861 -->|method| 5741002c_9c87_22ac_cf3c_b32d8592aff0 6d35ccd3_315f_ac72_3c85_5bb712a99718["updateReceiveWindowSize()"] 589a9899_b8db_cc45_ce79_726a13b35861 -->|method| 6d35ccd3_315f_ac72_3c85_5bb712a99718 ce1e2ff1_6034_9920_ba6c_47d36fd1aff6["getReceiveWindowSizeLowerBound()"] 589a9899_b8db_cc45_ce79_726a13b35861 -->|method| ce1e2ff1_6034_9920_ba6c_47d36fd1aff6 d91982a2_2a03_570d_596e_a1e252f7b143["setReceiveWindowSizeLowerBound()"] 589a9899_b8db_cc45_ce79_726a13b35861 -->|method| d91982a2_2a03_570d_596e_a1e252f7b143
Relationship Graph
Source Code
codec-http/src/main/java/io/netty/handler/codec/spdy/SpdySession.java lines 233–323
private static final class StreamState {
private final byte priority;
private boolean remoteSideClosed;
private boolean localSideClosed;
private boolean receivedReply;
private final AtomicInteger sendWindowSize;
private final AtomicInteger receiveWindowSize;
private int receiveWindowSizeLowerBound;
private final Queue<PendingWrite> pendingWriteQueue = new ConcurrentLinkedQueue<PendingWrite>();
StreamState(
byte priority, boolean remoteSideClosed, boolean localSideClosed,
int sendWindowSize, int receiveWindowSize) {
this.priority = priority;
this.remoteSideClosed = remoteSideClosed;
this.localSideClosed = localSideClosed;
this.sendWindowSize = new AtomicInteger(sendWindowSize);
this.receiveWindowSize = new AtomicInteger(receiveWindowSize);
}
byte getPriority() {
return priority;
}
boolean isRemoteSideClosed() {
return remoteSideClosed;
}
void closeRemoteSide() {
remoteSideClosed = true;
}
boolean isLocalSideClosed() {
return localSideClosed;
}
void closeLocalSide() {
localSideClosed = true;
}
boolean hasReceivedReply() {
return receivedReply;
}
void receivedReply() {
receivedReply = true;
}
int getSendWindowSize() {
return sendWindowSize.get();
}
int updateSendWindowSize(int deltaWindowSize) {
return sendWindowSize.addAndGet(deltaWindowSize);
}
int updateReceiveWindowSize(int deltaWindowSize) {
return receiveWindowSize.addAndGet(deltaWindowSize);
}
int getReceiveWindowSizeLowerBound() {
return receiveWindowSizeLowerBound;
}
void setReceiveWindowSizeLowerBound(int receiveWindowSizeLowerBound) {
this.receiveWindowSizeLowerBound = receiveWindowSizeLowerBound;
}
boolean putPendingWrite(PendingWrite msg) {
return pendingWriteQueue.offer(msg);
}
PendingWrite getPendingWrite() {
return pendingWriteQueue.peek();
}
PendingWrite removePendingWrite() {
return pendingWriteQueue.poll();
}
Source
Frequently Asked Questions
What is the StreamState class?
StreamState is a class in the netty codebase, defined in codec-http/src/main/java/io/netty/handler/codec/spdy/SpdySession.java.
Where is StreamState defined?
StreamState is defined in codec-http/src/main/java/io/netty/handler/codec/spdy/SpdySession.java at line 233.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free