EpollSocketChannelConfig Class — netty Architecture
Architecture documentation for the EpollSocketChannelConfig class in EpollSocketChannelConfig.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD f9f9abc3_5d7e_54ea_b32a_5c493de53a1e["EpollSocketChannelConfig"] a58d7edb_276b_2378_7def_65d19578f9b0["EpollSocketChannelConfig.java"] f9f9abc3_5d7e_54ea_b32a_5c493de53a1e -->|defined in| a58d7edb_276b_2378_7def_65d19578f9b0 74e2000f_050f_810e_fe57_4ff7c9bc1272["EpollSocketChannelConfig()"] f9f9abc3_5d7e_54ea_b32a_5c493de53a1e -->|method| 74e2000f_050f_810e_fe57_4ff7c9bc1272 0b500577_09cc_0fc1_624a_a9d57e49ebfd["getOptions()"] f9f9abc3_5d7e_54ea_b32a_5c493de53a1e -->|method| 0b500577_09cc_0fc1_624a_a9d57e49ebfd a1a86671_ede5_9f04_7b5d_db02fecc60f3["T()"] f9f9abc3_5d7e_54ea_b32a_5c493de53a1e -->|method| a1a86671_ede5_9f04_7b5d_db02fecc60f3 1182c121_4602_1682_db0d_5d56217e031d["setOption()"] f9f9abc3_5d7e_54ea_b32a_5c493de53a1e -->|method| 1182c121_4602_1682_db0d_5d56217e031d 65412ce2_d2d4_6c5b_ed9f_0f8b6fa46449["getReceiveBufferSize()"] f9f9abc3_5d7e_54ea_b32a_5c493de53a1e -->|method| 65412ce2_d2d4_6c5b_ed9f_0f8b6fa46449 096648d1_cf6d_7d00_37e0_ec077b573eca["getSendBufferSize()"] f9f9abc3_5d7e_54ea_b32a_5c493de53a1e -->|method| 096648d1_cf6d_7d00_37e0_ec077b573eca ce7d640e_4c52_caa6_ecd3_80e10b9f0f5a["getSoLinger()"] f9f9abc3_5d7e_54ea_b32a_5c493de53a1e -->|method| ce7d640e_4c52_caa6_ecd3_80e10b9f0f5a 6eff79ee_667d_6cc4_b9dd_ec84559da190["getTrafficClass()"] f9f9abc3_5d7e_54ea_b32a_5c493de53a1e -->|method| 6eff79ee_667d_6cc4_b9dd_ec84559da190 82dee784_a1fe_88cb_b2d6_fc2ecb6df1e7["isKeepAlive()"] f9f9abc3_5d7e_54ea_b32a_5c493de53a1e -->|method| 82dee784_a1fe_88cb_b2d6_fc2ecb6df1e7 d4577af0_dbae_01fd_4b72_b9d075d86f6b["isReuseAddress()"] f9f9abc3_5d7e_54ea_b32a_5c493de53a1e -->|method| d4577af0_dbae_01fd_4b72_b9d075d86f6b 3e7516a0_7354_c935_d4c2_5083f459320b["isTcpNoDelay()"] f9f9abc3_5d7e_54ea_b32a_5c493de53a1e -->|method| 3e7516a0_7354_c935_d4c2_5083f459320b 9e3a63c0_0a32_8386_6f36_ad44bf4c36ab["isTcpCork()"] f9f9abc3_5d7e_54ea_b32a_5c493de53a1e -->|method| 9e3a63c0_0a32_8386_6f36_ad44bf4c36ab 51750bbc_4ace_e02e_8218_6775dbaa0b9a["getSoBusyPoll()"] f9f9abc3_5d7e_54ea_b32a_5c493de53a1e -->|method| 51750bbc_4ace_e02e_8218_6775dbaa0b9a
Relationship Graph
Source Code
transport-classes-epoll/src/main/java/io/netty/channel/epoll/EpollSocketChannelConfig.java lines 40–697
public final class EpollSocketChannelConfig extends EpollChannelConfig implements SocketChannelConfig {
private volatile boolean allowHalfClosure;
private volatile boolean tcpFastopen;
/**
* Creates a new instance.
*/
EpollSocketChannelConfig(EpollSocketChannel channel) {
super(channel);
if (PlatformDependent.canEnableTcpNoDelayByDefault()) {
setTcpNoDelay(true);
}
calculateMaxBytesPerGatheringWrite();
}
@Override
public Map<ChannelOption<?>, Object> getOptions() {
return getOptions(
super.getOptions(),
SO_RCVBUF, SO_SNDBUF, TCP_NODELAY, SO_KEEPALIVE, SO_REUSEADDR, SO_LINGER, IP_TOS,
ALLOW_HALF_CLOSURE, EpollChannelOption.TCP_CORK, EpollChannelOption.TCP_NOTSENT_LOWAT,
EpollChannelOption.TCP_KEEPCNT, EpollChannelOption.TCP_KEEPIDLE, EpollChannelOption.TCP_KEEPINTVL,
EpollChannelOption.TCP_MD5SIG, EpollChannelOption.TCP_QUICKACK,
EpollChannelOption.IP_BIND_ADDRESS_NO_PORT, EpollChannelOption.IP_TRANSPARENT,
ChannelOption.TCP_FASTOPEN_CONNECT, EpollChannelOption.SO_BUSY_POLL);
}
@SuppressWarnings("unchecked")
@Override
public <T> T getOption(ChannelOption<T> option) {
if (option == SO_RCVBUF) {
return (T) Integer.valueOf(getReceiveBufferSize());
}
if (option == SO_SNDBUF) {
return (T) Integer.valueOf(getSendBufferSize());
}
if (option == TCP_NODELAY) {
return (T) Boolean.valueOf(isTcpNoDelay());
}
if (option == SO_KEEPALIVE) {
return (T) Boolean.valueOf(isKeepAlive());
}
if (option == SO_REUSEADDR) {
return (T) Boolean.valueOf(isReuseAddress());
}
if (option == SO_LINGER) {
return (T) Integer.valueOf(getSoLinger());
}
if (option == IP_TOS) {
return (T) Integer.valueOf(getTrafficClass());
}
if (option == ALLOW_HALF_CLOSURE) {
return (T) Boolean.valueOf(isAllowHalfClosure());
}
if (option == EpollChannelOption.TCP_CORK) {
return (T) Boolean.valueOf(isTcpCork());
}
if (option == EpollChannelOption.TCP_NOTSENT_LOWAT) {
return (T) Long.valueOf(getTcpNotSentLowAt());
}
if (option == EpollChannelOption.TCP_KEEPIDLE) {
return (T) Integer.valueOf(getTcpKeepIdle());
}
if (option == EpollChannelOption.TCP_KEEPINTVL) {
return (T) Integer.valueOf(getTcpKeepIntvl());
}
if (option == EpollChannelOption.TCP_KEEPCNT) {
return (T) Integer.valueOf(getTcpKeepCnt());
}
if (option == EpollChannelOption.TCP_USER_TIMEOUT) {
return (T) Integer.valueOf(getTcpUserTimeout());
}
if (option == EpollChannelOption.TCP_QUICKACK) {
return (T) Boolean.valueOf(isTcpQuickAck());
}
if (option == EpollChannelOption.IP_BIND_ADDRESS_NO_PORT) {
return (T) Boolean.valueOf(isIpBindAddressNoPort());
}
if (option == EpollChannelOption.IP_TRANSPARENT) {
return (T) Boolean.valueOf(isIpTransparent());
Defined In
Source
Frequently Asked Questions
What is the EpollSocketChannelConfig class?
EpollSocketChannelConfig is a class in the netty codebase, defined in transport-classes-epoll/src/main/java/io/netty/channel/epoll/EpollSocketChannelConfig.java.
Where is EpollSocketChannelConfig defined?
EpollSocketChannelConfig is defined in transport-classes-epoll/src/main/java/io/netty/channel/epoll/EpollSocketChannelConfig.java at line 40.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free