Home / Class/ KQueueDatagramChannelConfig Class — netty Architecture

KQueueDatagramChannelConfig Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  196ab3fc_d369_1feb_a394_4c644a7a5c7e["KQueueDatagramChannelConfig"]
  926da0e7_7930_5de2_ffe9_b53a00e87d18["KQueueDatagramChannelConfig.java"]
  196ab3fc_d369_1feb_a394_4c644a7a5c7e -->|defined in| 926da0e7_7930_5de2_ffe9_b53a00e87d18
  39e6296e_6a68_b8f3_1b10_27ab2a33096a["KQueueDatagramChannelConfig()"]
  196ab3fc_d369_1feb_a394_4c644a7a5c7e -->|method| 39e6296e_6a68_b8f3_1b10_27ab2a33096a
  9e95170d_e7be_b6c8_161d_1f597df7f9a3["getOptions()"]
  196ab3fc_d369_1feb_a394_4c644a7a5c7e -->|method| 9e95170d_e7be_b6c8_161d_1f597df7f9a3
  01d6808f_f303_aafd_df18_a986d86f7aea["T()"]
  196ab3fc_d369_1feb_a394_4c644a7a5c7e -->|method| 01d6808f_f303_aafd_df18_a986d86f7aea
  0efa1fa2_0a73_01c1_be18_cc4ad5691287["setOption()"]
  196ab3fc_d369_1feb_a394_4c644a7a5c7e -->|method| 0efa1fa2_0a73_01c1_be18_cc4ad5691287
  385202a3_5627_21fa_6eca_3f728169c4a2["setActiveOnOpen()"]
  196ab3fc_d369_1feb_a394_4c644a7a5c7e -->|method| 385202a3_5627_21fa_6eca_3f728169c4a2
  b7583ae4_a281_4cd1_4075_0b3e14b276e6["getActiveOnOpen()"]
  196ab3fc_d369_1feb_a394_4c644a7a5c7e -->|method| b7583ae4_a281_4cd1_4075_0b3e14b276e6
  512af29f_56b7_2ed4_fc27_89170de564fd["isReusePort()"]
  196ab3fc_d369_1feb_a394_4c644a7a5c7e -->|method| 512af29f_56b7_2ed4_fc27_89170de564fd
  f18eaaeb_a26a_5124_1109_33d3d3e691be["getSendBufferSize()"]
  196ab3fc_d369_1feb_a394_4c644a7a5c7e -->|method| f18eaaeb_a26a_5124_1109_33d3d3e691be
  ec261a47_2a53_b2d4_1165_8f37e5d22794["getReceiveBufferSize()"]
  196ab3fc_d369_1feb_a394_4c644a7a5c7e -->|method| ec261a47_2a53_b2d4_1165_8f37e5d22794
  4cc02232_5fb2_d9ba_667e_dfb1168754f5["getTrafficClass()"]
  196ab3fc_d369_1feb_a394_4c644a7a5c7e -->|method| 4cc02232_5fb2_d9ba_667e_dfb1168754f5
  a05a6966_d37d_9e0e_2f47_e4b573270742["isReuseAddress()"]
  196ab3fc_d369_1feb_a394_4c644a7a5c7e -->|method| a05a6966_d37d_9e0e_2f47_e4b573270742
  14945c4e_09af_923f_d204_3ba9941e561e["isBroadcast()"]
  196ab3fc_d369_1feb_a394_4c644a7a5c7e -->|method| 14945c4e_09af_923f_d204_3ba9941e561e
  37f59e8e_c4c7_f7a2_b77d_95f8dfa458a6["isLoopbackModeDisabled()"]
  196ab3fc_d369_1feb_a394_4c644a7a5c7e -->|method| 37f59e8e_c4c7_f7a2_b77d_95f8dfa458a6

Relationship Graph

Source Code

transport-classes-kqueue/src/main/java/io/netty/channel/kqueue/KQueueDatagramChannelConfig.java lines 44–387

public final class KQueueDatagramChannelConfig extends KQueueChannelConfig implements DatagramChannelConfig {
    private boolean activeOnOpen;

    KQueueDatagramChannelConfig(KQueueDatagramChannel channel) {
        super(channel, new FixedRecvByteBufAllocator(2048));
    }

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

    @SuppressWarnings({ "unchecked", "deprecation" })
    @Override
    public <T> T getOption(ChannelOption<T> option) {
        if (option == SO_BROADCAST) {
            return (T) Boolean.valueOf(isBroadcast());
        }
        if (option == SO_RCVBUF) {
            return (T) Integer.valueOf(getReceiveBufferSize());
        }
        if (option == SO_SNDBUF) {
            return (T) Integer.valueOf(getSendBufferSize());
        }
        if (option == SO_REUSEADDR) {
            return (T) Boolean.valueOf(isReuseAddress());
        }
        if (option == IP_MULTICAST_LOOP_DISABLED) {
            return (T) Boolean.valueOf(isLoopbackModeDisabled());
        }
        if (option == IP_MULTICAST_ADDR) {
            return (T) getInterface();
        }
        if (option == IP_MULTICAST_IF) {
            return (T) getNetworkInterface();
        }
        if (option == IP_MULTICAST_TTL) {
            return (T) Integer.valueOf(getTimeToLive());
        }
        if (option == IP_TOS) {
            return (T) Integer.valueOf(getTrafficClass());
        }
        if (option == DATAGRAM_CHANNEL_ACTIVE_ON_REGISTRATION) {
            return (T) Boolean.valueOf(activeOnOpen);
        }
        if (option == SO_REUSEPORT) {
            return (T) Boolean.valueOf(isReusePort());
        }
        return super.getOption(option);
    }

    @Override
    @SuppressWarnings("deprecation")
    public <T> boolean setOption(ChannelOption<T> option, T value) {
        validate(option, value);

        if (option == SO_BROADCAST) {
            setBroadcast((Boolean) value);
        } else if (option == SO_RCVBUF) {
            setReceiveBufferSize((Integer) value);
        } else if (option == SO_SNDBUF) {
            setSendBufferSize((Integer) value);
        } else if (option == SO_REUSEADDR) {
            setReuseAddress((Boolean) value);
        } else if (option == IP_MULTICAST_LOOP_DISABLED) {
            setLoopbackModeDisabled((Boolean) value);
        } else if (option == IP_MULTICAST_ADDR) {
            setInterface((InetAddress) value);
        } else if (option == IP_MULTICAST_IF) {
            setNetworkInterface((NetworkInterface) value);
        } else if (option == IP_MULTICAST_TTL) {
            setTimeToLive((Integer) value);
        } else if (option == IP_TOS) {
            setTrafficClass((Integer) value);
        } else if (option == DATAGRAM_CHANNEL_ACTIVE_ON_REGISTRATION) {
            setActiveOnOpen((Boolean) value);

Frequently Asked Questions

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

Analyze Your Own Codebase

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

Try Supermodel Free