NioDatagramChannelConfig Class — netty Architecture
Architecture documentation for the NioDatagramChannelConfig class in NioDatagramChannelConfig.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD abcc0b30_83eb_6c69_b4e2_bb32a14473ae["NioDatagramChannelConfig"] f42fd27c_88fe_831c_b63a_17338989112b["NioDatagramChannelConfig.java"] abcc0b30_83eb_6c69_b4e2_bb32a14473ae -->|defined in| f42fd27c_88fe_831c_b63a_17338989112b 79c1a8f6_695f_f231_e941_a36b36f14c68["NioDatagramChannelConfig()"] abcc0b30_83eb_6c69_b4e2_bb32a14473ae -->|method| 79c1a8f6_695f_f231_e941_a36b36f14c68 fe9f6a52_b576_bd85_d3af_ee59bdf0fdcd["getTimeToLive()"] abcc0b30_83eb_6c69_b4e2_bb32a14473ae -->|method| fe9f6a52_b576_bd85_d3af_ee59bdf0fdcd 9fcf9a4f_c1b8_a172_7971_2abe510ef94c["DatagramChannelConfig()"] abcc0b30_83eb_6c69_b4e2_bb32a14473ae -->|method| 9fcf9a4f_c1b8_a172_7971_2abe510ef94c 8bbce23a_7a9c_15d4_eafa_21ad36832e5c["InetAddress()"] abcc0b30_83eb_6c69_b4e2_bb32a14473ae -->|method| 8bbce23a_7a9c_15d4_eafa_21ad36832e5c 239ff519_5b73_0763_112a_3c5e7ae7fdc3["NetworkInterface()"] abcc0b30_83eb_6c69_b4e2_bb32a14473ae -->|method| 239ff519_5b73_0763_112a_3c5e7ae7fdc3 4920d9ca_f5bd_0cba_a720_7638e35ab34d["isLoopbackModeDisabled()"] abcc0b30_83eb_6c69_b4e2_bb32a14473ae -->|method| 4920d9ca_f5bd_0cba_a720_7638e35ab34d fd4c264e_9358_43cb_026a_00726df2a259["autoReadCleared()"] abcc0b30_83eb_6c69_b4e2_bb32a14473ae -->|method| fd4c264e_9358_43cb_026a_00726df2a259 b6cd3100_b79b_7355_498c_08502475d6fa["T()"] abcc0b30_83eb_6c69_b4e2_bb32a14473ae -->|method| b6cd3100_b79b_7355_498c_08502475d6fa 17ecb1b5_81f6_cea5_2058_56d6ac50f1e3["setOption0()"] abcc0b30_83eb_6c69_b4e2_bb32a14473ae -->|method| 17ecb1b5_81f6_cea5_2058_56d6ac50f1e3 278d306f_24e5_ee09_0244_45ecf1f00fa0["setOption()"] abcc0b30_83eb_6c69_b4e2_bb32a14473ae -->|method| 278d306f_24e5_ee09_0244_45ecf1f00fa0 86a2e27e_618b_bd7d_d039_60e254e082d5["getOptions()"] abcc0b30_83eb_6c69_b4e2_bb32a14473ae -->|method| 86a2e27e_618b_bd7d_d039_60e254e082d5
Relationship Graph
Source Code
transport/src/main/java/io/netty/channel/socket/nio/NioDatagramChannelConfig.java lines 37–147
class NioDatagramChannelConfig extends DefaultDatagramChannelConfig {
private final DatagramChannel javaChannel;
NioDatagramChannelConfig(NioDatagramChannel channel, DatagramChannel javaChannel) {
super(channel, javaChannel.socket());
this.javaChannel = javaChannel;
}
@Override
public int getTimeToLive() {
return getOption0(StandardSocketOptions.IP_MULTICAST_TTL);
}
@Override
public DatagramChannelConfig setTimeToLive(int ttl) {
setOption0(StandardSocketOptions.IP_MULTICAST_TTL, ttl);
return this;
}
@Override
public InetAddress getInterface() {
NetworkInterface inf = getNetworkInterface();
if (inf != null) {
Enumeration<InetAddress> addresses = SocketUtils.addressesFromNetworkInterface(inf);
if (addresses.hasMoreElements()) {
return addresses.nextElement();
}
}
return null;
}
@Override
public DatagramChannelConfig setInterface(InetAddress interfaceAddress) {
try {
setNetworkInterface(NetworkInterface.getByInetAddress(interfaceAddress));
} catch (SocketException e) {
throw new ChannelException(e);
}
return this;
}
@Override
public NetworkInterface getNetworkInterface() {
return getOption0(StandardSocketOptions.IP_MULTICAST_IF);
}
@Override
public DatagramChannelConfig setNetworkInterface(NetworkInterface networkInterface) {
setOption0(StandardSocketOptions.IP_MULTICAST_IF, networkInterface);
return this;
}
@Override
public boolean isLoopbackModeDisabled() {
return getOption0(StandardSocketOptions.IP_MULTICAST_LOOP);
}
@Override
public DatagramChannelConfig setLoopbackModeDisabled(boolean loopbackModeDisabled) {
setOption0(StandardSocketOptions.IP_MULTICAST_LOOP, loopbackModeDisabled);
return this;
}
@Override
public DatagramChannelConfig setAutoRead(boolean autoRead) {
super.setAutoRead(autoRead);
return this;
}
@Override
protected void autoReadCleared() {
((NioDatagramChannel) channel).clearReadPending0();
}
private <T> T getOption0(SocketOption<T> option) {
try {
return javaChannel.getOption(option);
} catch (IOException e) {
throw new ChannelException(e);
}
}
Source
Frequently Asked Questions
What is the NioDatagramChannelConfig class?
NioDatagramChannelConfig is a class in the netty codebase, defined in transport/src/main/java/io/netty/channel/socket/nio/NioDatagramChannelConfig.java.
Where is NioDatagramChannelConfig defined?
NioDatagramChannelConfig is defined in transport/src/main/java/io/netty/channel/socket/nio/NioDatagramChannelConfig.java at line 37.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free