Home / Function/ addDatagramPacketToOut() — netty Function Reference

addDatagramPacketToOut() — netty Function Reference

Architecture documentation for the addDatagramPacketToOut() function in EpollDatagramChannel.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  da43f51f_6e9f_7e6c_396a_89c96150f970["addDatagramPacketToOut()"]
  dab3c3bb_b3e2_f3b8_e8e0_37c99496afe9["EpollDatagramChannel"]
  da43f51f_6e9f_7e6c_396a_89c96150f970 -->|defined in| dab3c3bb_b3e2_f3b8_e8e0_37c99496afe9
  781125de_e972_9413_5a08_3062454df535["recvmsg()"]
  781125de_e972_9413_5a08_3062454df535 -->|calls| da43f51f_6e9f_7e6c_396a_89c96150f970
  7cf07df9_4be2_ed29_9353_cac4c09b8739["scatteringRead()"]
  7cf07df9_4be2_ed29_9353_cac4c09b8739 -->|calls| da43f51f_6e9f_7e6c_396a_89c96150f970
  style da43f51f_6e9f_7e6c_396a_89c96150f970 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

transport-classes-epoll/src/main/java/io/netty/channel/epoll/EpollDatagramChannel.java lines 665–683

    private static void addDatagramPacketToOut(DatagramPacket packet,
                                              RecyclableArrayList out) {
        if (packet instanceof io.netty.channel.unix.SegmentedDatagramPacket) {
            io.netty.channel.unix.SegmentedDatagramPacket segmentedDatagramPacket =
                    (io.netty.channel.unix.SegmentedDatagramPacket) packet;
            ByteBuf content = segmentedDatagramPacket.content();
            InetSocketAddress recipient = segmentedDatagramPacket.recipient();
            InetSocketAddress sender = segmentedDatagramPacket.sender();
            int segmentSize = segmentedDatagramPacket.segmentSize();
            do {
                out.add(new DatagramPacket(content.readRetainedSlice(Math.min(content.readableBytes(),
                        segmentSize)), recipient, sender));
            } while (content.isReadable());

            segmentedDatagramPacket.release();
        } else {
            out.add(packet);
        }
    }

Domain

Subdomains

Frequently Asked Questions

What does addDatagramPacketToOut() do?
addDatagramPacketToOut() is a function in the netty codebase, defined in transport-classes-epoll/src/main/java/io/netty/channel/epoll/EpollDatagramChannel.java.
Where is addDatagramPacketToOut() defined?
addDatagramPacketToOut() is defined in transport-classes-epoll/src/main/java/io/netty/channel/epoll/EpollDatagramChannel.java at line 665.
What calls addDatagramPacketToOut()?
addDatagramPacketToOut() is called by 2 function(s): recvmsg, scatteringRead.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free