ReopenReadTimerTask Class — netty Architecture
Architecture documentation for the ReopenReadTimerTask class in AbstractTrafficShapingHandler.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 6b25c5a3_60ff_5947_dd8c_953a33240929["ReopenReadTimerTask"] b62614b8_ae82_8ab2_7882_d009f6a3229e["AbstractTrafficShapingHandler.java"] 6b25c5a3_60ff_5947_dd8c_953a33240929 -->|defined in| b62614b8_ae82_8ab2_7882_d009f6a3229e 5b58fa00_a407_e8db_8cd8_d733412bb1e9["ReopenReadTimerTask()"] 6b25c5a3_60ff_5947_dd8c_953a33240929 -->|method| 5b58fa00_a407_e8db_8cd8_d733412bb1e9 e70be341_45e2_2ba2_5f42_466a29b6017b["run()"] 6b25c5a3_60ff_5947_dd8c_953a33240929 -->|method| e70be341_45e2_2ba2_5f42_466a29b6017b
Relationship Graph
Source Code
handler/src/main/java/io/netty/handler/traffic/AbstractTrafficShapingHandler.java lines 416–458
static final class ReopenReadTimerTask implements Runnable {
final ChannelHandlerContext ctx;
ReopenReadTimerTask(ChannelHandlerContext ctx) {
this.ctx = ctx;
}
@Override
public void run() {
Channel channel = ctx.channel();
ChannelConfig config = channel.config();
if (!config.isAutoRead() && isHandlerActive(ctx)) {
// If AutoRead is False and Active is True, user make a direct setAutoRead(false)
// Then Just reset the status
if (logger.isDebugEnabled()) {
logger.debug("Not unsuspend: " + config.isAutoRead() + ':' +
isHandlerActive(ctx));
}
channel.attr(READ_SUSPENDED).set(false);
} else {
// Anything else allows the handler to reset the AutoRead
if (logger.isDebugEnabled()) {
if (config.isAutoRead() && !isHandlerActive(ctx)) {
if (logger.isDebugEnabled()) {
logger.debug("Unsuspend: " + config.isAutoRead() + ':' +
isHandlerActive(ctx));
}
} else {
if (logger.isDebugEnabled()) {
logger.debug("Normal unsuspend: " + config.isAutoRead() + ':'
+ isHandlerActive(ctx));
}
}
}
channel.attr(READ_SUSPENDED).set(false);
config.setAutoRead(true);
channel.read();
}
if (logger.isDebugEnabled()) {
logger.debug("Unsuspend final status => " + config.isAutoRead() + ':'
+ isHandlerActive(ctx));
}
}
}
Source
Frequently Asked Questions
What is the ReopenReadTimerTask class?
ReopenReadTimerTask is a class in the netty codebase, defined in handler/src/main/java/io/netty/handler/traffic/AbstractTrafficShapingHandler.java.
Where is ReopenReadTimerTask defined?
ReopenReadTimerTask is defined in handler/src/main/java/io/netty/handler/traffic/AbstractTrafficShapingHandler.java at line 416.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free