IoUringSocketChannelConfig Class — netty Architecture
Architecture documentation for the IoUringSocketChannelConfig class in IoUringSocketChannelConfig.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 484d4b16_5cd0_ceda_ec98_1e750f432535["IoUringSocketChannelConfig"] 2d72fa2c_8b24_2686_0ff1_888e8933054b["IoUringSocketChannelConfig.java"] 484d4b16_5cd0_ceda_ec98_1e750f432535 -->|defined in| 2d72fa2c_8b24_2686_0ff1_888e8933054b 669ba3b2_4d7a_3a5d_28c8_fc791874df28["IoUringSocketChannelConfig()"] 484d4b16_5cd0_ceda_ec98_1e750f432535 -->|method| 669ba3b2_4d7a_3a5d_28c8_fc791874df28 d74585f0_a057_6d43_444b_2b5bf18a2b5f["getOptions()"] 484d4b16_5cd0_ceda_ec98_1e750f432535 -->|method| d74585f0_a057_6d43_444b_2b5bf18a2b5f d284361e_4f07_d2cd_020c_7903d399bae6["T()"] 484d4b16_5cd0_ceda_ec98_1e750f432535 -->|method| d284361e_4f07_d2cd_020c_7903d399bae6 afefb505_dde4_63e5_081b_6c4d1b3c0cb7["setOption()"] 484d4b16_5cd0_ceda_ec98_1e750f432535 -->|method| afefb505_dde4_63e5_081b_6c4d1b3c0cb7 6a0cc6d7_9b72_41ad_b744_f8d5ac75e989["getSendBufferSize()"] 484d4b16_5cd0_ceda_ec98_1e750f432535 -->|method| 6a0cc6d7_9b72_41ad_b744_f8d5ac75e989 88805a81_025e_a57d_ff65_b026b343da9c["getSoLinger()"] 484d4b16_5cd0_ceda_ec98_1e750f432535 -->|method| 88805a81_025e_a57d_ff65_b026b343da9c 2fea1f25_4929_fa68_6b4c_90f874722a0a["getTrafficClass()"] 484d4b16_5cd0_ceda_ec98_1e750f432535 -->|method| 2fea1f25_4929_fa68_6b4c_90f874722a0a 3067a199_839f_86c1_e70a_a2528dc54f8d["isKeepAlive()"] 484d4b16_5cd0_ceda_ec98_1e750f432535 -->|method| 3067a199_839f_86c1_e70a_a2528dc54f8d 910c9501_6d97_1e1b_c5c0_965e17a2abba["isReuseAddress()"] 484d4b16_5cd0_ceda_ec98_1e750f432535 -->|method| 910c9501_6d97_1e1b_c5c0_965e17a2abba d178e852_8df3_7a85_c65b_8d0678ae8813["isTcpNoDelay()"] 484d4b16_5cd0_ceda_ec98_1e750f432535 -->|method| d178e852_8df3_7a85_c65b_8d0678ae8813 4db00806_fa61_e6a8_0e47_b4833b0659b4["isTcpCork()"] 484d4b16_5cd0_ceda_ec98_1e750f432535 -->|method| 4db00806_fa61_e6a8_0e47_b4833b0659b4 7852d9eb_a820_fbcd_9fbf_f4da23f0cd8b["getSoBusyPoll()"] 484d4b16_5cd0_ceda_ec98_1e750f432535 -->|method| 7852d9eb_a820_fbcd_9fbf_f4da23f0cd8b 1bcd3566_6806_7e29_c375_8c91ff84906a["getTcpNotSentLowAt()"] 484d4b16_5cd0_ceda_ec98_1e750f432535 -->|method| 1bcd3566_6806_7e29_c375_8c91ff84906a
Relationship Graph
Source Code
transport-classes-io_uring/src/main/java/io/netty/channel/uring/IoUringSocketChannelConfig.java lines 34–656
final class IoUringSocketChannelConfig extends IoUringStreamChannelConfig implements SocketChannelConfig {
private volatile boolean allowHalfClosure;
private volatile boolean tcpFastopen;
static final int DISABLE_WRITE_ZERO_COPY = -1;
private volatile int writeZeroCopyThreshold = DISABLE_WRITE_ZERO_COPY;
IoUringSocketChannelConfig(AbstractIoUringChannel channel) {
super(channel);
if (PlatformDependent.canEnableTcpNoDelayByDefault()) {
setTcpNoDelay(true);
}
}
@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, IoUringChannelOption.TCP_CORK, IoUringChannelOption.TCP_NOTSENT_LOWAT,
IoUringChannelOption.TCP_KEEPCNT, IoUringChannelOption.TCP_KEEPIDLE, IoUringChannelOption.TCP_KEEPINTVL,
IoUringChannelOption.TCP_QUICKACK, IoUringChannelOption.IP_TRANSPARENT,
ChannelOption.TCP_FASTOPEN_CONNECT, IoUringChannelOption.IO_URING_WRITE_ZERO_COPY_THRESHOLD);
}
@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 == IoUringChannelOption.TCP_CORK) {
return (T) Boolean.valueOf(isTcpCork());
}
if (option == IoUringChannelOption.TCP_NOTSENT_LOWAT) {
return (T) Long.valueOf(getTcpNotSentLowAt());
}
if (option == IoUringChannelOption.TCP_KEEPIDLE) {
return (T) Integer.valueOf(getTcpKeepIdle());
}
if (option == IoUringChannelOption.TCP_KEEPINTVL) {
return (T) Integer.valueOf(getTcpKeepIntvl());
}
if (option == IoUringChannelOption.TCP_KEEPCNT) {
return (T) Integer.valueOf(getTcpKeepCnt());
}
if (option == IoUringChannelOption.TCP_USER_TIMEOUT) {
return (T) Integer.valueOf(getTcpUserTimeout());
}
if (option == IoUringChannelOption.TCP_QUICKACK) {
return (T) Boolean.valueOf(isTcpQuickAck());
}
if (option == IoUringChannelOption.IP_TRANSPARENT) {
return (T) Boolean.valueOf(isIpTransparent());
}
if (option == ChannelOption.TCP_FASTOPEN_CONNECT) {
return (T) Boolean.valueOf(isTcpFastOpenConnect());
}
if (option == IoUringChannelOption.IO_URING_WRITE_ZERO_COPY_THRESHOLD) {
return (T) Integer.valueOf(getWriteZeroCopyThreshold());
Defined In
Source
Frequently Asked Questions
What is the IoUringSocketChannelConfig class?
IoUringSocketChannelConfig is a class in the netty codebase, defined in transport-classes-io_uring/src/main/java/io/netty/channel/uring/IoUringSocketChannelConfig.java.
Where is IoUringSocketChannelConfig defined?
IoUringSocketChannelConfig is defined in transport-classes-io_uring/src/main/java/io/netty/channel/uring/IoUringSocketChannelConfig.java at line 34.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free