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);
Defined In
Source
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