IoUringDatagramChannelConfig Class — netty Architecture
Architecture documentation for the IoUringDatagramChannelConfig class in IoUringDatagramChannelConfig.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD e511f87c_1c78_d6c2_dc38_5912fd413edb["IoUringDatagramChannelConfig"] 83d9047c_a45f_f542_7306_72a8a6ec779c["IoUringDatagramChannelConfig.java"] e511f87c_1c78_d6c2_dc38_5912fd413edb -->|defined in| 83d9047c_a45f_f542_7306_72a8a6ec779c 98f7401c_9e84_fbd7_7d82_e5c0f637a9dd["IoUringDatagramChannelConfig()"] e511f87c_1c78_d6c2_dc38_5912fd413edb -->|method| 98f7401c_9e84_fbd7_7d82_e5c0f637a9dd 9c32964a_bf3e_e2c2_f5bc_8f548ae89abc["getOptions()"] e511f87c_1c78_d6c2_dc38_5912fd413edb -->|method| 9c32964a_bf3e_e2c2_f5bc_8f548ae89abc d2956889_2a29_d629_25b4_e238651d65a0["T()"] e511f87c_1c78_d6c2_dc38_5912fd413edb -->|method| d2956889_2a29_d629_25b4_e238651d65a0 cafb7364_a76d_01d2_1fa2_52ed29e6f746["setOption()"] e511f87c_1c78_d6c2_dc38_5912fd413edb -->|method| cafb7364_a76d_01d2_1fa2_52ed29e6f746 c45b2a3d_ce30_306a_60c4_81d18163d0c6["setActiveOnOpen()"] e511f87c_1c78_d6c2_dc38_5912fd413edb -->|method| c45b2a3d_ce30_306a_60c4_81d18163d0c6 476c5916_05d3_cba6_471c_ac1d7aada292["getActiveOnOpen()"] e511f87c_1c78_d6c2_dc38_5912fd413edb -->|method| 476c5916_05d3_cba6_471c_ac1d7aada292 cc3e5444_a25e_a597_65c6_61046a885da4["getSendBufferSize()"] e511f87c_1c78_d6c2_dc38_5912fd413edb -->|method| cc3e5444_a25e_a597_65c6_61046a885da4 9b8d9f49_56a1_168f_3aea_e167d3b6797b["getReceiveBufferSize()"] e511f87c_1c78_d6c2_dc38_5912fd413edb -->|method| 9b8d9f49_56a1_168f_3aea_e167d3b6797b 0139a809_1f68_9e77_8541_6d7549c73a18["getTrafficClass()"] e511f87c_1c78_d6c2_dc38_5912fd413edb -->|method| 0139a809_1f68_9e77_8541_6d7549c73a18 9cdc0b3e_3dec_41b1_080e_a957a4cb84fd["isReuseAddress()"] e511f87c_1c78_d6c2_dc38_5912fd413edb -->|method| 9cdc0b3e_3dec_41b1_080e_a957a4cb84fd 2d60cf9b_c046_3dd5_d7b8_053a8e665b25["isBroadcast()"] e511f87c_1c78_d6c2_dc38_5912fd413edb -->|method| 2d60cf9b_c046_3dd5_d7b8_053a8e665b25 746495ad_7f38_aed3_6fd7_ea627bc7c2c8["isLoopbackModeDisabled()"] e511f87c_1c78_d6c2_dc38_5912fd413edb -->|method| 746495ad_7f38_aed3_6fd7_ea627bc7c2c8 a7e3d622_923c_96cd_d993_3d3dcf61d94c["getTimeToLive()"] e511f87c_1c78_d6c2_dc38_5912fd413edb -->|method| a7e3d622_923c_96cd_d993_3d3dcf61d94c
Relationship Graph
Source Code
transport-classes-io_uring/src/main/java/io/netty/channel/uring/IoUringDatagramChannelConfig.java lines 34–525
final class IoUringDatagramChannelConfig extends IoUringChannelConfig implements DatagramChannelConfig {
private static final RecvByteBufAllocator DEFAULT_RCVBUF_ALLOCATOR = new FixedRecvByteBufAllocator(2048);
private boolean activeOnOpen;
private volatile int maxDatagramSize;
IoUringDatagramChannelConfig(AbstractIoUringChannel channel) {
super(channel);
setRecvByteBufAllocator(DEFAULT_RCVBUF_ALLOCATOR);
}
@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,
IoUringChannelOption.SO_REUSEPORT, IoUringChannelOption.IP_FREEBIND,
IoUringChannelOption.IP_TRANSPARENT, IoUringChannelOption.MAX_DATAGRAM_PAYLOAD_SIZE,
IoUringChannelOption.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 == IoUringChannelOption.SO_REUSEPORT) {
return (T) Boolean.valueOf(isReusePort());
}
if (option == IoUringChannelOption.IP_TRANSPARENT) {
return (T) Boolean.valueOf(isIpTransparent());
}
if (option == IoUringChannelOption.IP_FREEBIND) {
return (T) Boolean.valueOf(isFreeBind());
}
if (option == IoUringChannelOption.MAX_DATAGRAM_PAYLOAD_SIZE) {
return (T) Integer.valueOf(getMaxDatagramPayloadSize());
}
if (option == IoUringChannelOption.IP_MULTICAST_ALL) {
return (T) Boolean.valueOf(isIpMulticastAll());
}
return super.getOption(option);
}
@Override
@SuppressWarnings("deprecation")
public <T> boolean setOption(ChannelOption<T> option, T value) {
validate(option, value);
if (option == ChannelOption.SO_BROADCAST) {
Defined In
Source
Frequently Asked Questions
What is the IoUringDatagramChannelConfig class?
IoUringDatagramChannelConfig is a class in the netty codebase, defined in transport-classes-io_uring/src/main/java/io/netty/channel/uring/IoUringDatagramChannelConfig.java.
Where is IoUringDatagramChannelConfig defined?
IoUringDatagramChannelConfig is defined in transport-classes-io_uring/src/main/java/io/netty/channel/uring/IoUringDatagramChannelConfig.java at line 34.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free