EpollChannelConfig Class — netty Architecture
Architecture documentation for the EpollChannelConfig class in EpollChannelConfig.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD f9498616_1338_efe9_d27b_38c8a37a3a64["EpollChannelConfig"] 24bf91d7_7baa_cedb_312e_bdea3cb78661["EpollChannelConfig.java"] f9498616_1338_efe9_d27b_38c8a37a3a64 -->|defined in| 24bf91d7_7baa_cedb_312e_bdea3cb78661 ea9aaf54_13bc_cbd3_e141_5eb1663cdd2b["EpollChannelConfig()"] f9498616_1338_efe9_d27b_38c8a37a3a64 -->|method| ea9aaf54_13bc_cbd3_e141_5eb1663cdd2b bcb5d3cc_7a38_e1af_f64b_4dcac46eb9ae["LinuxSocket()"] f9498616_1338_efe9_d27b_38c8a37a3a64 -->|method| bcb5d3cc_7a38_e1af_f64b_4dcac46eb9ae 84c9f2f9_1628_5eaf_1109_008ff445c1ab["Channel()"] f9498616_1338_efe9_d27b_38c8a37a3a64 -->|method| 84c9f2f9_1628_5eaf_1109_008ff445c1ab ee6cb0ef_beee_111a_6d41_a6a381e0308f["getOptions()"] f9498616_1338_efe9_d27b_38c8a37a3a64 -->|method| ee6cb0ef_beee_111a_6d41_a6a381e0308f 03c2c12a_62ed_e764_4fcd_75efafac21ff["T()"] f9498616_1338_efe9_d27b_38c8a37a3a64 -->|method| 03c2c12a_62ed_e764_4fcd_75efafac21ff 0b125d12_7be1_50bb_efcc_966c0f640d22["setOption()"] f9498616_1338_efe9_d27b_38c8a37a3a64 -->|method| 0b125d12_7be1_50bb_efcc_966c0f640d22 a8901b2a_9d43_18a2_35ff_7af65a801210["EpollMode()"] f9498616_1338_efe9_d27b_38c8a37a3a64 -->|method| a8901b2a_9d43_18a2_35ff_7af65a801210 088a97f2_7106_cdef_faf2_76496a3a6149["checkChannelNotRegistered()"] f9498616_1338_efe9_d27b_38c8a37a3a64 -->|method| 088a97f2_7106_cdef_faf2_76496a3a6149 235bd406_f435_16b4_579f_0b300555e085["autoReadCleared()"] f9498616_1338_efe9_d27b_38c8a37a3a64 -->|method| 235bd406_f435_16b4_579f_0b300555e085 315dd2cd_3510_9b53_25ec_db7c401503ec["setMaxBytesPerGatheringWrite()"] f9498616_1338_efe9_d27b_38c8a37a3a64 -->|method| 315dd2cd_3510_9b53_25ec_db7c401503ec 15fb959c_b8de_39bb_47ac_c6a3d2be8bd4["getMaxBytesPerGatheringWrite()"] f9498616_1338_efe9_d27b_38c8a37a3a64 -->|method| 15fb959c_b8de_39bb_47ac_c6a3d2be8bd4
Relationship Graph
Source Code
transport-classes-epoll/src/main/java/io/netty/channel/epoll/EpollChannelConfig.java lines 37–229
public class EpollChannelConfig extends DefaultChannelConfig {
private static final InternalLogger LOGGER = InternalLoggerFactory.getInstance(EpollChannelConfig.class);
private volatile long maxBytesPerGatheringWrite = SSIZE_MAX;
protected EpollChannelConfig(Channel channel) {
super(checkAbstractEpollChannel(channel));
}
protected EpollChannelConfig(Channel channel, RecvByteBufAllocator recvByteBufAllocator) {
super(checkAbstractEpollChannel(channel), recvByteBufAllocator);
}
protected LinuxSocket socket() {
return ((AbstractEpollChannel) channel).socket;
}
private static Channel checkAbstractEpollChannel(Channel channel) {
if (!(channel instanceof AbstractEpollChannel)) {
throw new IllegalArgumentException("channel is not AbstractEpollChannel: " + channel.getClass());
}
return channel;
}
@Override
public Map<ChannelOption<?>, Object> getOptions() {
return getOptions(super.getOptions(), EpollChannelOption.EPOLL_MODE);
}
@SuppressWarnings("unchecked")
@Override
public <T> T getOption(ChannelOption<T> option) {
if (option == EpollChannelOption.EPOLL_MODE) {
return (T) getEpollMode();
}
try {
if (option instanceof IntegerUnixChannelOption) {
IntegerUnixChannelOption opt = (IntegerUnixChannelOption) option;
return (T) Integer.valueOf(((AbstractEpollChannel) channel).socket.getIntOpt(
opt.level(), opt.optname()));
}
if (option instanceof RawUnixChannelOption) {
RawUnixChannelOption opt = (RawUnixChannelOption) option;
ByteBuffer out = ByteBuffer.allocate(opt.length());
((AbstractEpollChannel) channel).socket.getRawOpt(opt.level(), opt.optname(), out);
return (T) out.flip();
}
} catch (IOException e) {
throw new ChannelException(e);
}
return super.getOption(option);
}
@Override
public <T> boolean setOption(ChannelOption<T> option, T value) {
validate(option, value);
if (option == EpollChannelOption.EPOLL_MODE) {
setEpollMode((EpollMode) value);
} else {
try {
if (option instanceof IntegerUnixChannelOption) {
IntegerUnixChannelOption opt = (IntegerUnixChannelOption) option;
((AbstractEpollChannel) channel).socket.setIntOpt(opt.level(), opt.optname(), (Integer) value);
return true;
} else if (option instanceof RawUnixChannelOption) {
RawUnixChannelOption opt = (RawUnixChannelOption) option;
((AbstractEpollChannel) channel).socket.setRawOpt(opt.level(), opt.optname(), (ByteBuffer) value);
return true;
}
} catch (IOException e) {
throw new ChannelException(e);
}
return super.setOption(option, value);
}
return true;
}
@Override
public EpollChannelConfig setConnectTimeoutMillis(int connectTimeoutMillis) {
super.setConnectTimeoutMillis(connectTimeoutMillis);
Source
Frequently Asked Questions
What is the EpollChannelConfig class?
EpollChannelConfig is a class in the netty codebase, defined in transport-classes-epoll/src/main/java/io/netty/channel/epoll/EpollChannelConfig.java.
Where is EpollChannelConfig defined?
EpollChannelConfig is defined in transport-classes-epoll/src/main/java/io/netty/channel/epoll/EpollChannelConfig.java at line 37.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free