DefaultDatagramChannelConfig Class — netty Architecture
Architecture documentation for the DefaultDatagramChannelConfig class in DefaultDatagramChannelConfig.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 9c64cb0f_e8ca_4019_9deb_ea45fc3cf75b["DefaultDatagramChannelConfig"] f582d936_bc48_5a47_796e_7b907ecbe3b4["DefaultDatagramChannelConfig.java"] 9c64cb0f_e8ca_4019_9deb_ea45fc3cf75b -->|defined in| f582d936_bc48_5a47_796e_7b907ecbe3b4 1bc31883_6765_c8e5_2f16_2d433aa11cf5["DefaultDatagramChannelConfig()"] 9c64cb0f_e8ca_4019_9deb_ea45fc3cf75b -->|method| 1bc31883_6765_c8e5_2f16_2d433aa11cf5 4a7000d6_6900_f323_bcd5_c3525584c817["DatagramSocket()"] 9c64cb0f_e8ca_4019_9deb_ea45fc3cf75b -->|method| 4a7000d6_6900_f323_bcd5_c3525584c817 6b707ecf_79b4_e054_038d_535bbc1543c3["getOptions()"] 9c64cb0f_e8ca_4019_9deb_ea45fc3cf75b -->|method| 6b707ecf_79b4_e054_038d_535bbc1543c3 5e5782f6_3abc_a8bd_5a88_0fa6079bad64["T()"] 9c64cb0f_e8ca_4019_9deb_ea45fc3cf75b -->|method| 5e5782f6_3abc_a8bd_5a88_0fa6079bad64 cce7cbd2_8cd1_9a45_0709_a4685a812781["setOption()"] 9c64cb0f_e8ca_4019_9deb_ea45fc3cf75b -->|method| cce7cbd2_8cd1_9a45_0709_a4685a812781 1b869761_0ce0_5d48_4421_66d43e8f6458["setActiveOnOpen()"] 9c64cb0f_e8ca_4019_9deb_ea45fc3cf75b -->|method| 1b869761_0ce0_5d48_4421_66d43e8f6458 23ddf91c_161b_b197_500e_a957a7dd9d07["isBroadcast()"] 9c64cb0f_e8ca_4019_9deb_ea45fc3cf75b -->|method| 23ddf91c_161b_b197_500e_a957a7dd9d07 bb275c64_c261_023a_b1e3_61b8958aa531["DatagramChannelConfig()"] 9c64cb0f_e8ca_4019_9deb_ea45fc3cf75b -->|method| bb275c64_c261_023a_b1e3_61b8958aa531 49c6f7ba_72ee_f774_0372_a3c53d132616["InetAddress()"] 9c64cb0f_e8ca_4019_9deb_ea45fc3cf75b -->|method| 49c6f7ba_72ee_f774_0372_a3c53d132616 a017c666_c170_5def_fe6b_7f6c09d3152c["isLoopbackModeDisabled()"] 9c64cb0f_e8ca_4019_9deb_ea45fc3cf75b -->|method| a017c666_c170_5def_fe6b_7f6c09d3152c a4ec9651_7f3a_8bf7_ead7_7a820165ad5c["NetworkInterface()"] 9c64cb0f_e8ca_4019_9deb_ea45fc3cf75b -->|method| a4ec9651_7f3a_8bf7_ead7_7a820165ad5c 5777148b_365e_f524_54f7_830532178d7a["isReuseAddress()"] 9c64cb0f_e8ca_4019_9deb_ea45fc3cf75b -->|method| 5777148b_365e_f524_54f7_830532178d7a 2ef708d1_becf_6315_e7f2_9afb4345507c["getReceiveBufferSize()"] 9c64cb0f_e8ca_4019_9deb_ea45fc3cf75b -->|method| 2ef708d1_becf_6315_e7f2_9afb4345507c
Relationship Graph
Source Code
transport/src/main/java/io/netty/channel/socket/DefaultDatagramChannelConfig.java lines 44–435
public class DefaultDatagramChannelConfig extends DefaultChannelConfig implements DatagramChannelConfig {
private static final InternalLogger logger = InternalLoggerFactory.getInstance(DefaultDatagramChannelConfig.class);
private final DatagramSocket javaSocket;
private volatile boolean activeOnOpen;
/**
* Creates a new instance.
*/
public DefaultDatagramChannelConfig(DatagramChannel channel, DatagramSocket javaSocket) {
super(channel, new FixedRecvByteBufAllocator(2048));
this.javaSocket = ObjectUtil.checkNotNull(javaSocket, "javaSocket");
}
protected final DatagramSocket javaSocket() {
return javaSocket;
}
@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);
}
@Override
@SuppressWarnings({ "unchecked", "deprecation" })
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);
}
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);
Source
Frequently Asked Questions
What is the DefaultDatagramChannelConfig class?
DefaultDatagramChannelConfig is a class in the netty codebase, defined in transport/src/main/java/io/netty/channel/socket/DefaultDatagramChannelConfig.java.
Where is DefaultDatagramChannelConfig defined?
DefaultDatagramChannelConfig is defined in transport/src/main/java/io/netty/channel/socket/DefaultDatagramChannelConfig.java at line 44.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free