Home / Class/ EpollDatagramChannelConfig Class — netty Architecture

EpollDatagramChannelConfig Class — netty Architecture

Architecture documentation for the EpollDatagramChannelConfig class in EpollDatagramChannelConfig.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  6444be72_9941_621d_49ef_edceb23d8b48["EpollDatagramChannelConfig"]
  3baa76a0_ab4f_1ae4_0583_5066ae90edeb["EpollDatagramChannelConfig.java"]
  6444be72_9941_621d_49ef_edceb23d8b48 -->|defined in| 3baa76a0_ab4f_1ae4_0583_5066ae90edeb
  05b2b3d7_b366_a3fd_4025_64b82722c032["EpollDatagramChannelConfig()"]
  6444be72_9941_621d_49ef_edceb23d8b48 -->|method| 05b2b3d7_b366_a3fd_4025_64b82722c032
  236626e5_7683_6e2d_55c4_daa12044fbe9["getOptions()"]
  6444be72_9941_621d_49ef_edceb23d8b48 -->|method| 236626e5_7683_6e2d_55c4_daa12044fbe9
  e141eb12_3e97_7704_274c_cf1c489a4964["T()"]
  6444be72_9941_621d_49ef_edceb23d8b48 -->|method| e141eb12_3e97_7704_274c_cf1c489a4964
  466f162b_8f5a_8bb7_d24c_aa7a2f5ab378["setOption()"]
  6444be72_9941_621d_49ef_edceb23d8b48 -->|method| 466f162b_8f5a_8bb7_d24c_aa7a2f5ab378
  f993d3de_d98b_069b_ca22_22e4b841cdbf["setActiveOnOpen()"]
  6444be72_9941_621d_49ef_edceb23d8b48 -->|method| f993d3de_d98b_069b_ca22_22e4b841cdbf
  a22d53b0_4897_c976_02f2_55f004519c8d["getActiveOnOpen()"]
  6444be72_9941_621d_49ef_edceb23d8b48 -->|method| a22d53b0_4897_c976_02f2_55f004519c8d
  4bd97ff4_f0f9_713e_2fb9_04b1bb5fcc39["getSendBufferSize()"]
  6444be72_9941_621d_49ef_edceb23d8b48 -->|method| 4bd97ff4_f0f9_713e_2fb9_04b1bb5fcc39
  6ab32f94_8fe4_d819_3e7d_6921cfcf0a58["getReceiveBufferSize()"]
  6444be72_9941_621d_49ef_edceb23d8b48 -->|method| 6ab32f94_8fe4_d819_3e7d_6921cfcf0a58
  da7f66f3_602a_f91d_3e1e_e7fa000e8c7f["getTrafficClass()"]
  6444be72_9941_621d_49ef_edceb23d8b48 -->|method| da7f66f3_602a_f91d_3e1e_e7fa000e8c7f
  223b6b65_b88b_85c3_ab94_efde22c92a07["isReuseAddress()"]
  6444be72_9941_621d_49ef_edceb23d8b48 -->|method| 223b6b65_b88b_85c3_ab94_efde22c92a07
  c6b76f05_92ec_ccf0_ef2e_2214ba2cd671["isBroadcast()"]
  6444be72_9941_621d_49ef_edceb23d8b48 -->|method| c6b76f05_92ec_ccf0_ef2e_2214ba2cd671
  bf08fcf0_14fc_37b1_ca8c_7b4d589b2291["isLoopbackModeDisabled()"]
  6444be72_9941_621d_49ef_edceb23d8b48 -->|method| bf08fcf0_14fc_37b1_ca8c_7b4d589b2291
  f1311867_6f04_0123_4b53_34d904be548c["DatagramChannelConfig()"]
  6444be72_9941_621d_49ef_edceb23d8b48 -->|method| f1311867_6f04_0123_4b53_34d904be548c

Relationship Graph

Source Code

transport-classes-epoll/src/main/java/io/netty/channel/epoll/EpollDatagramChannelConfig.java lines 34–596

public final class EpollDatagramChannelConfig extends EpollChannelConfig implements DatagramChannelConfig {
    private boolean activeOnOpen;
    private volatile int maxDatagramSize;

    EpollDatagramChannelConfig(EpollDatagramChannel channel) {
        super(channel, new FixedRecvByteBufAllocator(2048));
    }

    @Override
    @SuppressWarnings("deprecation")
    public Map<ChannelOption<?>, Object> getOptions() {
        return getOptions(
                super.getOptions(),
                ChannelOption.SO_BROADCAST, ChannelOption.SO_RCVBUF, ChannelOption.SO_SNDBUF,
                ChannelOption.SO_REUSEADDR, ChannelOption.IP_MULTICAST_LOOP_DISABLED,
                ChannelOption.IP_MULTICAST_ADDR, ChannelOption.IP_MULTICAST_IF, ChannelOption.IP_MULTICAST_TTL,
                ChannelOption.IP_TOS, ChannelOption.DATAGRAM_CHANNEL_ACTIVE_ON_REGISTRATION,
                EpollChannelOption.SO_REUSEPORT, EpollChannelOption.IP_FREEBIND, EpollChannelOption.IP_TRANSPARENT,
                EpollChannelOption.IP_RECVORIGDSTADDR, EpollChannelOption.MAX_DATAGRAM_PAYLOAD_SIZE,
                EpollChannelOption.UDP_GRO, EpollChannelOption.IP_MULTICAST_ALL);
    }

    @SuppressWarnings({ "unchecked", "deprecation" })
    @Override
    public <T> T getOption(ChannelOption<T> option) {
        if (option == ChannelOption.SO_BROADCAST) {
            return (T) Boolean.valueOf(isBroadcast());
        }
        if (option == ChannelOption.SO_RCVBUF) {
            return (T) Integer.valueOf(getReceiveBufferSize());
        }
        if (option == ChannelOption.SO_SNDBUF) {
            return (T) Integer.valueOf(getSendBufferSize());
        }
        if (option == ChannelOption.SO_REUSEADDR) {
            return (T) Boolean.valueOf(isReuseAddress());
        }
        if (option == ChannelOption.IP_MULTICAST_LOOP_DISABLED) {
            return (T) Boolean.valueOf(isLoopbackModeDisabled());
        }
        if (option == ChannelOption.IP_MULTICAST_ADDR) {
            return (T) getInterface();
        }
        if (option == ChannelOption.IP_MULTICAST_IF) {
            return (T) getNetworkInterface();
        }
        if (option == ChannelOption.IP_MULTICAST_TTL) {
            return (T) Integer.valueOf(getTimeToLive());
        }
        if (option == ChannelOption.IP_TOS) {
            return (T) Integer.valueOf(getTrafficClass());
        }
        if (option == ChannelOption.DATAGRAM_CHANNEL_ACTIVE_ON_REGISTRATION) {
            return (T) Boolean.valueOf(activeOnOpen);
        }
        if (option == EpollChannelOption.SO_REUSEPORT) {
            return (T) Boolean.valueOf(isReusePort());
        }
        if (option == EpollChannelOption.IP_TRANSPARENT) {
            return (T) Boolean.valueOf(isIpTransparent());
        }
        if (option == EpollChannelOption.IP_FREEBIND) {
            return (T) Boolean.valueOf(isFreeBind());
        }
        if (option == EpollChannelOption.IP_RECVORIGDSTADDR) {
            return (T) Boolean.valueOf(isIpRecvOrigDestAddr());
        }
        if (option == EpollChannelOption.IP_MULTICAST_ALL) {
            return (T) Boolean.valueOf(isIpMulticastAll());
        }
        if (option == EpollChannelOption.MAX_DATAGRAM_PAYLOAD_SIZE) {
            return (T) Integer.valueOf(getMaxDatagramPayloadSize());
        }
        if (option == EpollChannelOption.UDP_GRO) {
            return (T) Boolean.valueOf(isUdpGro());
        }
        return super.getOption(option);
    }

    @Override
    @SuppressWarnings("deprecation")

Frequently Asked Questions

What is the EpollDatagramChannelConfig class?
EpollDatagramChannelConfig is a class in the netty codebase, defined in transport-classes-epoll/src/main/java/io/netty/channel/epoll/EpollDatagramChannelConfig.java.
Where is EpollDatagramChannelConfig defined?
EpollDatagramChannelConfig is defined in transport-classes-epoll/src/main/java/io/netty/channel/epoll/EpollDatagramChannelConfig.java at line 34.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free