KQueueSocketChannelConfig Class — netty Architecture
Architecture documentation for the KQueueSocketChannelConfig class in KQueueSocketChannelConfig.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD c726b6aa_58c3_c23e_8d70_411bf7bf32b9["KQueueSocketChannelConfig"] 3a192e48_91bb_b238_e270_7ed48e72cd8e["KQueueSocketChannelConfig.java"] c726b6aa_58c3_c23e_8d70_411bf7bf32b9 -->|defined in| 3a192e48_91bb_b238_e270_7ed48e72cd8e d743937a_ad7e_f8d4_1b08_1e7d443a6e7f["KQueueSocketChannelConfig()"] c726b6aa_58c3_c23e_8d70_411bf7bf32b9 -->|method| d743937a_ad7e_f8d4_1b08_1e7d443a6e7f ecba070f_afd4_bc0b_5db6_c4f3e129b22b["getOptions()"] c726b6aa_58c3_c23e_8d70_411bf7bf32b9 -->|method| ecba070f_afd4_bc0b_5db6_c4f3e129b22b ed12471d_3aa2_d8e5_1b17_6a89e684d8c0["T()"] c726b6aa_58c3_c23e_8d70_411bf7bf32b9 -->|method| ed12471d_3aa2_d8e5_1b17_6a89e684d8c0 2ed2bd55_b3e4_ee84_2672_46aea7656d2d["setOption()"] c726b6aa_58c3_c23e_8d70_411bf7bf32b9 -->|method| 2ed2bd55_b3e4_ee84_2672_46aea7656d2d 4236a8a2_07a6_009e_b4e3_1d0d053fd1e5["getReceiveBufferSize()"] c726b6aa_58c3_c23e_8d70_411bf7bf32b9 -->|method| 4236a8a2_07a6_009e_b4e3_1d0d053fd1e5 291a5b0f_3145_7976_20af_8ecddf946a20["getSendBufferSize()"] c726b6aa_58c3_c23e_8d70_411bf7bf32b9 -->|method| 291a5b0f_3145_7976_20af_8ecddf946a20 4f503f1d_d954_dd2c_c7d2_a6253265f9bf["getSoLinger()"] c726b6aa_58c3_c23e_8d70_411bf7bf32b9 -->|method| 4f503f1d_d954_dd2c_c7d2_a6253265f9bf 693a696d_9631_8c64_a01a_c7c4d3fa920a["getTrafficClass()"] c726b6aa_58c3_c23e_8d70_411bf7bf32b9 -->|method| 693a696d_9631_8c64_a01a_c7c4d3fa920a 96b4e613_c54d_63aa_3b9a_f358da16cd01["isKeepAlive()"] c726b6aa_58c3_c23e_8d70_411bf7bf32b9 -->|method| 96b4e613_c54d_63aa_3b9a_f358da16cd01 dd058497_10df_64a1_0b9c_dead889d5a5c["isReuseAddress()"] c726b6aa_58c3_c23e_8d70_411bf7bf32b9 -->|method| dd058497_10df_64a1_0b9c_dead889d5a5c 53894fe2_ca87_4354_42a4_ac11bb3c70d5["isTcpNoDelay()"] c726b6aa_58c3_c23e_8d70_411bf7bf32b9 -->|method| 53894fe2_ca87_4354_42a4_ac11bb3c70d5 41bb3138_043b_27fb_7003_d57ed2b8e725["getSndLowAt()"] c726b6aa_58c3_c23e_8d70_411bf7bf32b9 -->|method| 41bb3138_043b_27fb_7003_d57ed2b8e725 74148e18_1ba1_a755_e2c7_76fdd133f65f["setSndLowAt()"] c726b6aa_58c3_c23e_8d70_411bf7bf32b9 -->|method| 74148e18_1ba1_a755_e2c7_76fdd133f65f
Relationship Graph
Source Code
transport-classes-kqueue/src/main/java/io/netty/channel/kqueue/KQueueSocketChannelConfig.java lines 41–413
public final class KQueueSocketChannelConfig extends KQueueChannelConfig implements SocketChannelConfig {
private volatile boolean allowHalfClosure;
private volatile boolean tcpFastopen;
KQueueSocketChannelConfig(KQueueSocketChannel 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, SO_SNDLOWAT, TCP_NOPUSH);
}
@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 == SO_SNDLOWAT) {
return (T) Integer.valueOf(getSndLowAt());
}
if (option == TCP_NOPUSH) {
return (T) Boolean.valueOf(isTcpNoPush());
}
if (option == ChannelOption.TCP_FASTOPEN_CONNECT) {
return (T) Boolean.valueOf(isTcpFastOpenConnect());
}
return super.getOption(option);
}
@Override
public <T> boolean setOption(ChannelOption<T> option, T value) {
validate(option, value);
if (option == SO_RCVBUF) {
setReceiveBufferSize((Integer) value);
} else if (option == SO_SNDBUF) {
setSendBufferSize((Integer) value);
} else if (option == TCP_NODELAY) {
setTcpNoDelay((Boolean) value);
} else if (option == SO_KEEPALIVE) {
setKeepAlive((Boolean) value);
} else if (option == SO_REUSEADDR) {
setReuseAddress((Boolean) value);
} else if (option == SO_LINGER) {
setSoLinger((Integer) value);
} else if (option == IP_TOS) {
setTrafficClass((Integer) value);
} else if (option == ALLOW_HALF_CLOSURE) {
setAllowHalfClosure((Boolean) value);
} else if (option == SO_SNDLOWAT) {
setSndLowAt((Integer) value);
Defined In
Source
Frequently Asked Questions
What is the KQueueSocketChannelConfig class?
KQueueSocketChannelConfig is a class in the netty codebase, defined in transport-classes-kqueue/src/main/java/io/netty/channel/kqueue/KQueueSocketChannelConfig.java.
Where is KQueueSocketChannelConfig defined?
KQueueSocketChannelConfig is defined in transport-classes-kqueue/src/main/java/io/netty/channel/kqueue/KQueueSocketChannelConfig.java at line 41.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free