rebuildSelector0() — netty Function Reference
Architecture documentation for the rebuildSelector0() function in NioIoHandler.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 0cde094c_1fde_4ca0_aa21_b607ebeae5b5["rebuildSelector0()"] db526e28_8aae_a182_b56b_dc12824d89f5["NioIoHandler"] 0cde094c_1fde_4ca0_aa21_b607ebeae5b5 -->|defined in| db526e28_8aae_a182_b56b_dc12824d89f5 bfebd9e6_05a3_0eea_3b0f_b34d5870ab36["run()"] bfebd9e6_05a3_0eea_3b0f_b34d5870ab36 -->|calls| 0cde094c_1fde_4ca0_aa21_b607ebeae5b5 91e9bee4_1b62_e088_9fb3_4b12427baefc["Selector()"] 91e9bee4_1b62_e088_9fb3_4b12427baefc -->|calls| 0cde094c_1fde_4ca0_aa21_b607ebeae5b5 ef8255b9_2b69_3cc8_b9f4_09f59f321f26["isValid()"] 0cde094c_1fde_4ca0_aa21_b607ebeae5b5 -->|calls| ef8255b9_2b69_3cc8_b9f4_09f59f321f26 ecdfe176_a66d_99e6_189e_28d99cc27fe0["cancel()"] 0cde094c_1fde_4ca0_aa21_b607ebeae5b5 -->|calls| ecdfe176_a66d_99e6_189e_28d99cc27fe0 b2d60452_c9f9_89ec_0be0_2d281d72f3a4["close()"] 0cde094c_1fde_4ca0_aa21_b607ebeae5b5 -->|calls| b2d60452_c9f9_89ec_0be0_2d281d72f3a4 style 0cde094c_1fde_4ca0_aa21_b607ebeae5b5 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
transport/src/main/java/io/netty/channel/nio/NioIoHandler.java lines 255–302
void rebuildSelector0() {
final Selector oldSelector = selector;
final SelectorTuple newSelectorTuple;
if (oldSelector == null) {
return;
}
try {
newSelectorTuple = openSelector();
} catch (Exception e) {
logger.warn("Failed to create a new Selector.", e);
return;
}
// Register all channels to the new Selector.
int nChannels = 0;
for (SelectionKey key : oldSelector.keys()) {
DefaultNioRegistration handle = (DefaultNioRegistration) key.attachment();
try {
if (!key.isValid() || key.channel().keyFor(newSelectorTuple.unwrappedSelector) != null) {
continue;
}
handle.register(newSelectorTuple.unwrappedSelector);
nChannels++;
} catch (Exception e) {
logger.warn("Failed to re-register a NioHandle to the new Selector.", e);
handle.cancel();
}
}
selector = newSelectorTuple.selector;
unwrappedSelector = newSelectorTuple.unwrappedSelector;
try {
// time to close the old selector as everything else is registered to the new one
oldSelector.close();
} catch (Throwable t) {
if (logger.isWarnEnabled()) {
logger.warn("Failed to close the old Selector.", t);
}
}
if (logger.isInfoEnabled()) {
logger.info("Migrated " + nChannels + " channel(s) to the new Selector.");
}
}
Domain
Subdomains
Called By
Source
Frequently Asked Questions
What does rebuildSelector0() do?
rebuildSelector0() is a function in the netty codebase, defined in transport/src/main/java/io/netty/channel/nio/NioIoHandler.java.
Where is rebuildSelector0() defined?
rebuildSelector0() is defined in transport/src/main/java/io/netty/channel/nio/NioIoHandler.java at line 255.
What does rebuildSelector0() call?
rebuildSelector0() calls 3 function(s): cancel, close, isValid.
What calls rebuildSelector0()?
rebuildSelector0() is called by 2 function(s): Selector, run.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free