EpollServerChannelConfig Class — netty Architecture
Architecture documentation for the EpollServerChannelConfig class in EpollServerChannelConfig.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 1f972e2a_123e_bf26_f924_ae61ca9ddb93["EpollServerChannelConfig"] 708acc7c_2d99_d798_c9b9_3278ea266a17["EpollServerChannelConfig.java"] 1f972e2a_123e_bf26_f924_ae61ca9ddb93 -->|defined in| 708acc7c_2d99_d798_c9b9_3278ea266a17 9d383d4b_fe78_e5e8_5510_8228a3d33bbc["EpollServerChannelConfig()"] 1f972e2a_123e_bf26_f924_ae61ca9ddb93 -->|method| 9d383d4b_fe78_e5e8_5510_8228a3d33bbc 7bda02b0_5948_a9fa_82bb_91774d058427["getOptions()"] 1f972e2a_123e_bf26_f924_ae61ca9ddb93 -->|method| 7bda02b0_5948_a9fa_82bb_91774d058427 8700e7f7_b620_763c_8cf9_60b1f77d2860["T()"] 1f972e2a_123e_bf26_f924_ae61ca9ddb93 -->|method| 8700e7f7_b620_763c_8cf9_60b1f77d2860 b154faf8_555e_a293_2c16_07fcab56f5ed["setOption()"] 1f972e2a_123e_bf26_f924_ae61ca9ddb93 -->|method| b154faf8_555e_a293_2c16_07fcab56f5ed 719d9a67_d238_6b95_f764_791a5316523a["isReuseAddress()"] 1f972e2a_123e_bf26_f924_ae61ca9ddb93 -->|method| 719d9a67_d238_6b95_f764_791a5316523a 1b798f54_b3ff_d626_5b99_d6c1fca43289["getReceiveBufferSize()"] 1f972e2a_123e_bf26_f924_ae61ca9ddb93 -->|method| 1b798f54_b3ff_d626_5b99_d6c1fca43289 cd6b0148_b4f8_cfc8_a9fb_8e9e4d30e6d7["getBacklog()"] 1f972e2a_123e_bf26_f924_ae61ca9ddb93 -->|method| cd6b0148_b4f8_cfc8_a9fb_8e9e4d30e6d7 6d4a8e16_3762_adc0_14bf_eaecf8a6591b["getTcpFastopen()"] 1f972e2a_123e_bf26_f924_ae61ca9ddb93 -->|method| 6d4a8e16_3762_adc0_14bf_eaecf8a6591b
Relationship Graph
Source Code
transport-classes-epoll/src/main/java/io/netty/channel/epoll/EpollServerChannelConfig.java lines 37–234
public class EpollServerChannelConfig extends EpollChannelConfig implements ServerSocketChannelConfig {
private volatile int backlog = NetUtil.SOMAXCONN;
private volatile int pendingFastOpenRequestsThreshold;
EpollServerChannelConfig(AbstractEpollChannel 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) Integer.valueOf(getTcpFastopen());
}
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);
} else {
return super.setOption(option, value);
}
return true;
}
@Override
public boolean isReuseAddress() {
try {
return ((AbstractEpollChannel) channel).socket.isReuseAddress();
} catch (IOException e) {
throw new ChannelException(e);
}
}
@Override
public EpollServerChannelConfig setReuseAddress(boolean reuseAddress) {
try {
((AbstractEpollChannel) channel).socket.setReuseAddress(reuseAddress);
return this;
} catch (IOException e) {
throw new ChannelException(e);
}
}
@Override
public int getReceiveBufferSize() {
try {
return ((AbstractEpollChannel) channel).socket.getReceiveBufferSize();
} catch (IOException e) {
throw new ChannelException(e);
}
}
@Override
public EpollServerChannelConfig setReceiveBufferSize(int receiveBufferSize) {
try {
Defined In
Source
Frequently Asked Questions
What is the EpollServerChannelConfig class?
EpollServerChannelConfig is a class in the netty codebase, defined in transport-classes-epoll/src/main/java/io/netty/channel/epoll/EpollServerChannelConfig.java.
Where is EpollServerChannelConfig defined?
EpollServerChannelConfig is defined in transport-classes-epoll/src/main/java/io/netty/channel/epoll/EpollServerChannelConfig.java at line 37.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free