EpollServerSocketChannelConfig Class — netty Architecture
Architecture documentation for the EpollServerSocketChannelConfig class in EpollServerSocketChannelConfig.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 484aaad5_f90c_7698_fb41_7aa2af3898ee["EpollServerSocketChannelConfig"] 2cfb381c_c4bb_2735_0c89_5b9b2fd701ee["EpollServerSocketChannelConfig.java"] 484aaad5_f90c_7698_fb41_7aa2af3898ee -->|defined in| 2cfb381c_c4bb_2735_0c89_5b9b2fd701ee cc165c8f_4f14_0a3a_4488_dfbe887dda71["EpollServerSocketChannelConfig()"] 484aaad5_f90c_7698_fb41_7aa2af3898ee -->|method| cc165c8f_4f14_0a3a_4488_dfbe887dda71 08086421_dcc8_b7f5_2579_033d1f0b8f0b["getOptions()"] 484aaad5_f90c_7698_fb41_7aa2af3898ee -->|method| 08086421_dcc8_b7f5_2579_033d1f0b8f0b 9c849cfc_eb94_b063_f845_4d0e92080ff2["T()"] 484aaad5_f90c_7698_fb41_7aa2af3898ee -->|method| 9c849cfc_eb94_b063_f845_4d0e92080ff2 440d397e_4117_685d_119b_8e41cdbe4d16["setOption()"] 484aaad5_f90c_7698_fb41_7aa2af3898ee -->|method| 440d397e_4117_685d_119b_8e41cdbe4d16 56c88782_040c_7f49_f476_bc942352bdb8["isReusePort()"] 484aaad5_f90c_7698_fb41_7aa2af3898ee -->|method| 56c88782_040c_7f49_f476_bc942352bdb8 24f039ac_ed86_630d_e3c1_7183ebd16b65["isFreeBind()"] 484aaad5_f90c_7698_fb41_7aa2af3898ee -->|method| 24f039ac_ed86_630d_e3c1_7183ebd16b65 2e6a9c3a_d258_caed_90d9_4ba28a362e2c["isIpTransparent()"] 484aaad5_f90c_7698_fb41_7aa2af3898ee -->|method| 2e6a9c3a_d258_caed_90d9_4ba28a362e2c 13eda72e_12fd_48eb_508c_361d6f5895bc["getTcpDeferAccept()"] 484aaad5_f90c_7698_fb41_7aa2af3898ee -->|method| 13eda72e_12fd_48eb_508c_361d6f5895bc
Relationship Graph
Source Code
transport-classes-epoll/src/main/java/io/netty/channel/epoll/EpollServerSocketChannelConfig.java lines 30–288
public final class EpollServerSocketChannelConfig extends EpollServerChannelConfig
implements ServerSocketChannelConfig {
EpollServerSocketChannelConfig(EpollServerSocketChannel channel) {
super(channel);
// Use SO_REUSEADDR by default as java.nio does the same.
//
// See https://github.com/netty/netty/issues/2605
setReuseAddress(true);
}
@Override
public Map<ChannelOption<?>, Object> getOptions() {
return getOptions(super.getOptions(), EpollChannelOption.SO_REUSEPORT, EpollChannelOption.IP_FREEBIND,
EpollChannelOption.IP_TRANSPARENT, EpollChannelOption.TCP_DEFER_ACCEPT);
}
@SuppressWarnings("unchecked")
@Override
public <T> T getOption(ChannelOption<T> option) {
if (option == EpollChannelOption.SO_REUSEPORT) {
return (T) Boolean.valueOf(isReusePort());
}
if (option == EpollChannelOption.IP_FREEBIND) {
return (T) Boolean.valueOf(isFreeBind());
}
if (option == EpollChannelOption.IP_TRANSPARENT) {
return (T) Boolean.valueOf(isIpTransparent());
}
if (option == EpollChannelOption.TCP_DEFER_ACCEPT) {
return (T) Integer.valueOf(getTcpDeferAccept());
}
return super.getOption(option);
}
@Override
public <T> boolean setOption(ChannelOption<T> option, T value) {
validate(option, value);
if (option == EpollChannelOption.SO_REUSEPORT) {
setReusePort((Boolean) value);
} else if (option == EpollChannelOption.IP_FREEBIND) {
setFreeBind((Boolean) value);
} else if (option == EpollChannelOption.IP_TRANSPARENT) {
setIpTransparent((Boolean) value);
} else if (option == EpollChannelOption.TCP_MD5SIG) {
@SuppressWarnings("unchecked")
final Map<InetAddress, byte[]> m = (Map<InetAddress, byte[]>) value;
setTcpMd5Sig(m);
} else if (option == EpollChannelOption.TCP_DEFER_ACCEPT) {
setTcpDeferAccept((Integer) value);
} else {
return super.setOption(option, value);
}
return true;
}
@Override
public EpollServerSocketChannelConfig setReuseAddress(boolean reuseAddress) {
super.setReuseAddress(reuseAddress);
return this;
}
@Override
public EpollServerSocketChannelConfig setReceiveBufferSize(int receiveBufferSize) {
super.setReceiveBufferSize(receiveBufferSize);
return this;
}
@Override
public EpollServerSocketChannelConfig setPerformancePreferences(int connectionTime, int latency, int bandwidth) {
return this;
}
@Override
public EpollServerSocketChannelConfig setBacklog(int backlog) {
super.setBacklog(backlog);
return this;
}
Defined In
Source
Frequently Asked Questions
What is the EpollServerSocketChannelConfig class?
EpollServerSocketChannelConfig is a class in the netty codebase, defined in transport-classes-epoll/src/main/java/io/netty/channel/epoll/EpollServerSocketChannelConfig.java.
Where is EpollServerSocketChannelConfig defined?
EpollServerSocketChannelConfig is defined in transport-classes-epoll/src/main/java/io/netty/channel/epoll/EpollServerSocketChannelConfig.java at line 30.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free