Home / Class/ EpollServerChannelConfig Class — netty Architecture

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 {

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