Home / Class/ KQueueDatagramChannel Class — netty Architecture

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(

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