KQueueServerChannelConfig Class — netty Architecture
Architecture documentation for the KQueueServerChannelConfig class in KQueueServerChannelConfig.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 849ddad3_a50a_73f6_d27b_ebce78f1ce6e["KQueueServerChannelConfig"] 77151694_f076_15cc_5909_3c29b5862d57["KQueueServerChannelConfig.java"] 849ddad3_a50a_73f6_d27b_ebce78f1ce6e -->|defined in| 77151694_f076_15cc_5909_3c29b5862d57 8edc5396_e25c_4e48_7cd4_5f56490b13bb["KQueueServerChannelConfig()"] 849ddad3_a50a_73f6_d27b_ebce78f1ce6e -->|method| 8edc5396_e25c_4e48_7cd4_5f56490b13bb 741ccf4f_21ec_46c7_c299_45f18d7dc66b["getOptions()"] 849ddad3_a50a_73f6_d27b_ebce78f1ce6e -->|method| 741ccf4f_21ec_46c7_c299_45f18d7dc66b 6053daa0_87ec_a315_7994_d190f43462ed["T()"] 849ddad3_a50a_73f6_d27b_ebce78f1ce6e -->|method| 6053daa0_87ec_a315_7994_d190f43462ed 237d1e87_bf05_5ba8_bc2c_567a365f05e8["setOption()"] 849ddad3_a50a_73f6_d27b_ebce78f1ce6e -->|method| 237d1e87_bf05_5ba8_bc2c_567a365f05e8 cf67683e_4b17_7043_ac21_e97f30e846fb["isReuseAddress()"] 849ddad3_a50a_73f6_d27b_ebce78f1ce6e -->|method| cf67683e_4b17_7043_ac21_e97f30e846fb c665210f_7ca6_2ccf_869f_8e0c5c2ecea2["getReceiveBufferSize()"] 849ddad3_a50a_73f6_d27b_ebce78f1ce6e -->|method| c665210f_7ca6_2ccf_869f_8e0c5c2ecea2 9b263fc7_53b7_66ea_5b59_1306e372536d["getBacklog()"] 849ddad3_a50a_73f6_d27b_ebce78f1ce6e -->|method| 9b263fc7_53b7_66ea_5b59_1306e372536d 7113017c_eb7f_07a1_0611_74105328bb10["isTcpFastOpen()"] 849ddad3_a50a_73f6_d27b_ebce78f1ce6e -->|method| 7113017c_eb7f_07a1_0611_74105328bb10
Relationship Graph
Source Code
transport-classes-kqueue/src/main/java/io/netty/channel/kqueue/KQueueServerChannelConfig.java lines 37–232
public class KQueueServerChannelConfig extends KQueueChannelConfig implements ServerSocketChannelConfig {
private volatile int backlog = NetUtil.SOMAXCONN;
private volatile boolean enableTcpFastOpen;
KQueueServerChannelConfig(AbstractKQueueChannel channel) {
super(channel, new ServerChannelRecvByteBufAllocator());
}
@Override
public Map<ChannelOption<?>, Object> getOptions() {
return getOptions(super.getOptions(), SO_RCVBUF, SO_REUSEADDR, SO_BACKLOG, TCP_FASTOPEN);
}
@SuppressWarnings("unchecked")
@Override
public <T> T getOption(ChannelOption<T> option) {
if (option == SO_RCVBUF) {
return (T) Integer.valueOf(getReceiveBufferSize());
}
if (option == SO_REUSEADDR) {
return (T) Boolean.valueOf(isReuseAddress());
}
if (option == SO_BACKLOG) {
return (T) Integer.valueOf(getBacklog());
}
if (option == TCP_FASTOPEN) {
return (T) (isTcpFastOpen() ? Integer.valueOf(1) : Integer.valueOf(0));
}
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_REUSEADDR) {
setReuseAddress((Boolean) value);
} else if (option == SO_BACKLOG) {
setBacklog((Integer) value);
} else if (option == TCP_FASTOPEN) {
setTcpFastOpen((Integer) value > 0);
} else {
return super.setOption(option, value);
}
return true;
}
@Override
public boolean isReuseAddress() {
try {
return ((AbstractKQueueChannel) channel).socket.isReuseAddress();
} catch (IOException e) {
throw new ChannelException(e);
}
}
@Override
public KQueueServerChannelConfig setReuseAddress(boolean reuseAddress) {
try {
((AbstractKQueueChannel) channel).socket.setReuseAddress(reuseAddress);
return this;
} catch (IOException e) {
throw new ChannelException(e);
}
}
@Override
public int getReceiveBufferSize() {
try {
return ((AbstractKQueueChannel) channel).socket.getReceiveBufferSize();
} catch (IOException e) {
throw new ChannelException(e);
}
}
@Override
public KQueueServerChannelConfig setReceiveBufferSize(int receiveBufferSize) {
try {
Defined In
Source
Frequently Asked Questions
What is the KQueueServerChannelConfig class?
KQueueServerChannelConfig is a class in the netty codebase, defined in transport-classes-kqueue/src/main/java/io/netty/channel/kqueue/KQueueServerChannelConfig.java.
Where is KQueueServerChannelConfig defined?
KQueueServerChannelConfig is defined in transport-classes-kqueue/src/main/java/io/netty/channel/kqueue/KQueueServerChannelConfig.java at line 37.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free