KQueueDatagramChannel Class — netty Architecture
Architecture documentation for the KQueueDatagramChannel class in KQueueDatagramChannel.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD d655085f_28d0_2ab1_6880_68b2da4e27e4["KQueueDatagramChannel"] 9772fc6c_7786_606d_0861_764516b3bf93["KQueueDatagramChannel.java"] d655085f_28d0_2ab1_6880_68b2da4e27e4 -->|defined in| 9772fc6c_7786_606d_0861_764516b3bf93 92f1e620_8f97_a81d_0874_2e298155c872["KQueueDatagramChannel()"] d655085f_28d0_2ab1_6880_68b2da4e27e4 -->|method| 92f1e620_8f97_a81d_0874_2e298155c872 0236f1bd_e78f_9200_6009_cc709a3f75d8["InetSocketAddress()"] d655085f_28d0_2ab1_6880_68b2da4e27e4 -->|method| 0236f1bd_e78f_9200_6009_cc709a3f75d8 b338f837_064e_f7cf_d0e8_17c800ddbcd3["isActive()"] d655085f_28d0_2ab1_6880_68b2da4e27e4 -->|method| b338f837_064e_f7cf_d0e8_17c800ddbcd3 d11c714d_c055_87f1_26ca_7083c4f46546["isConnected()"] d655085f_28d0_2ab1_6880_68b2da4e27e4 -->|method| d11c714d_c055_87f1_26ca_7083c4f46546 2447e79e_d1bd_cf4c_9079_3285c1b6735f["ChannelFuture()"] d655085f_28d0_2ab1_6880_68b2da4e27e4 -->|method| 2447e79e_d1bd_cf4c_9079_3285c1b6735f e2eaaa5f_6b38_2923_d006_92a8da1a17d5["AbstractKQueueUnsafe()"] d655085f_28d0_2ab1_6880_68b2da4e27e4 -->|method| e2eaaa5f_6b38_2923_d006_92a8da1a17d5 be332121_9505_9a2a_fbaa_c3e9368fc3fb["doBind()"] d655085f_28d0_2ab1_6880_68b2da4e27e4 -->|method| be332121_9505_9a2a_fbaa_c3e9368fc3fb 0bcc10e9_2b7e_9247_29c7_51b95390a7b3["doWriteMessage()"] d655085f_28d0_2ab1_6880_68b2da4e27e4 -->|method| 0bcc10e9_2b7e_9247_29c7_51b95390a7b3 3d60f276_f713_ae7f_75cb_c4adce6b71cd["IOException()"] d655085f_28d0_2ab1_6880_68b2da4e27e4 -->|method| 3d60f276_f713_ae7f_75cb_c4adce6b71cd 623b3f88_9545_b403_8293_ba68d0f81237["checkUnresolved()"] d655085f_28d0_2ab1_6880_68b2da4e27e4 -->|method| 623b3f88_9545_b403_8293_ba68d0f81237 63d54e5c_8064_9dcf_9a16_aeff4a5d3f1b["Object()"] d655085f_28d0_2ab1_6880_68b2da4e27e4 -->|method| 63d54e5c_8064_9dcf_9a16_aeff4a5d3f1b 1f1fa12b_2f41_3912_15fd_f64369f40ba7["KQueueDatagramChannelConfig()"] d655085f_28d0_2ab1_6880_68b2da4e27e4 -->|method| 1f1fa12b_2f41_3912_15fd_f64369f40ba7 8d52e75e_214d_448e_bcb3_89eb2b9f0a13["doDisconnect()"] d655085f_28d0_2ab1_6880_68b2da4e27e4 -->|method| 8d52e75e_214d_448e_bcb3_89eb2b9f0a13
Relationship Graph
Source Code
transport-classes-kqueue/src/main/java/io/netty/channel/kqueue/KQueueDatagramChannel.java lines 50–493
public final class KQueueDatagramChannel extends AbstractKQueueDatagramChannel implements DatagramChannel {
private static final String EXPECTED_TYPES =
" (expected: " + StringUtil.simpleClassName(DatagramPacket.class) + ", " +
StringUtil.simpleClassName(AddressedEnvelope.class) + '<' +
StringUtil.simpleClassName(ByteBuf.class) + ", " +
StringUtil.simpleClassName(InetSocketAddress.class) + ">, " +
StringUtil.simpleClassName(ByteBuf.class) + ')';
private volatile boolean connected;
private final KQueueDatagramChannelConfig config;
public KQueueDatagramChannel() {
super(null, newSocketDgram(), false);
config = new KQueueDatagramChannelConfig(this);
}
/**
* @deprecated use {@link KQueueDatagramChannel#KQueueDatagramChannel(SocketProtocolFamily)}
*/
@Deprecated
public KQueueDatagramChannel(InternetProtocolFamily protocol) {
super(null, newSocketDgram(protocol), false);
config = new KQueueDatagramChannelConfig(this);
}
public KQueueDatagramChannel(SocketProtocolFamily protocol) {
super(null, newSocketDgram(protocol), false);
config = new KQueueDatagramChannelConfig(this);
}
public KQueueDatagramChannel(int fd) {
this(new BsdSocket(fd), true);
}
KQueueDatagramChannel(BsdSocket socket, boolean active) {
super(null, socket, active);
config = new KQueueDatagramChannelConfig(this);
}
@Override
public InetSocketAddress remoteAddress() {
return (InetSocketAddress) super.remoteAddress();
}
@Override
public InetSocketAddress localAddress() {
return (InetSocketAddress) super.localAddress();
}
@Override
@SuppressWarnings("deprecation")
public boolean isActive() {
return socket.isOpen() && (config.getActiveOnOpen() && isRegistered() || active);
}
@Override
public boolean isConnected() {
return connected;
}
@Override
public ChannelFuture joinGroup(InetAddress multicastAddress) {
return joinGroup(multicastAddress, newPromise());
}
@Override
public ChannelFuture joinGroup(InetAddress multicastAddress, ChannelPromise promise) {
try {
NetworkInterface iface = config().getNetworkInterface();
if (iface == null) {
iface = NetworkInterface.getByInetAddress(localAddress().getAddress());
}
return joinGroup(multicastAddress, iface, null, promise);
} catch (SocketException e) {
promise.setFailure(e);
}
return promise;
}
@Override
public ChannelFuture joinGroup(
Defined In
Source
Frequently Asked Questions
What is the KQueueDatagramChannel class?
KQueueDatagramChannel is a class in the netty codebase, defined in transport-classes-kqueue/src/main/java/io/netty/channel/kqueue/KQueueDatagramChannel.java.
Where is KQueueDatagramChannel defined?
KQueueDatagramChannel is defined in transport-classes-kqueue/src/main/java/io/netty/channel/kqueue/KQueueDatagramChannel.java at line 50.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free