dequeue() — netty Function Reference
Architecture documentation for the dequeue() function in FlowControlHandler.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 231cc677_f63d_f911_377d_62f5edbedf36["dequeue()"] a378d3b4_7977_a8fc_c1dd_b695ec779172["FlowControlHandler"] 231cc677_f63d_f911_377d_62f5edbedf36 -->|defined in| a378d3b4_7977_a8fc_c1dd_b695ec779172 cd6f0428_f8e3_c46a_35a0_7f323a7ab542["handlerRemoved()"] cd6f0428_f8e3_c46a_35a0_7f323a7ab542 -->|calls| 231cc677_f63d_f911_377d_62f5edbedf36 f4d16c7c_e26b_f445_c529_6abbac58ed56["read()"] f4d16c7c_e26b_f445_c529_6abbac58ed56 -->|calls| 231cc677_f63d_f911_377d_62f5edbedf36 ab1fcb76_21ea_cee4_50e0_0d3247fda36a["channelRead()"] ab1fcb76_21ea_cee4_50e0_0d3247fda36a -->|calls| 231cc677_f63d_f911_377d_62f5edbedf36 7521bde4_9626_8e3b_0f5d_4bde6e9ffb9d["channelReadComplete()"] 7521bde4_9626_8e3b_0f5d_4bde6e9ffb9d -->|calls| 231cc677_f63d_f911_377d_62f5edbedf36 f4d16c7c_e26b_f445_c529_6abbac58ed56["read()"] 231cc677_f63d_f911_377d_62f5edbedf36 -->|calls| f4d16c7c_e26b_f445_c529_6abbac58ed56 850596a6_2ddb_8197_48b4_73aca6bdc7f6["recycle()"] 231cc677_f63d_f911_377d_62f5edbedf36 -->|calls| 850596a6_2ddb_8197_48b4_73aca6bdc7f6 style 231cc677_f63d_f911_377d_62f5edbedf36 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
handler/src/main/java/io/netty/handler/flow/FlowControlHandler.java lines 189–217
private int dequeue(ChannelHandlerContext ctx, int minConsume) {
int consumed = 0;
// fireChannelRead(...) may call ctx.read() and so this method may reentrance. Because of this we need to
// check if queue was set to null in the meantime and if so break the loop.
while (queue != null && (consumed < minConsume || config.isAutoRead())) {
Object msg = queue.poll();
if (msg == null) {
break;
}
++consumed;
ctx.fireChannelRead(msg);
}
// We're firing a completion event every time one (or more)
// messages were consumed and the queue ended up being drained
// to an empty state.
if (queue != null && queue.isEmpty()) {
queue.recycle();
queue = null;
if (consumed > 0) {
ctx.fireChannelReadComplete();
}
}
return consumed;
}
Domain
Subdomains
Source
Frequently Asked Questions
What does dequeue() do?
dequeue() is a function in the netty codebase, defined in handler/src/main/java/io/netty/handler/flow/FlowControlHandler.java.
Where is dequeue() defined?
dequeue() is defined in handler/src/main/java/io/netty/handler/flow/FlowControlHandler.java at line 189.
What does dequeue() call?
dequeue() calls 2 function(s): read, recycle.
What calls dequeue()?
dequeue() is called by 4 function(s): channelRead, channelReadComplete, handlerRemoved, read.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free