Home / Class/ EpollQuicUtils Class — netty Architecture

EpollQuicUtils Class — netty Architecture

Architecture documentation for the EpollQuicUtils class in EpollQuicUtils.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  abe05d2b_7c0b_41d8_603b_9db3e54f7ecd["EpollQuicUtils"]
  e6c2ab85_1f10_8ffb_7bc3_b1b0b25f52b0["EpollQuicUtils.java"]
  abe05d2b_7c0b_41d8_603b_9db3e54f7ecd -->|defined in| e6c2ab85_1f10_8ffb_7bc3_b1b0b25f52b0
  8ca01938_dfab_aa78_2f72_ce2123f23df9["EpollQuicUtils()"]
  abe05d2b_7c0b_41d8_603b_9db3e54f7ecd -->|method| 8ca01938_dfab_aa78_2f72_ce2123f23df9
  14978cd1_ddcb_1761_f357_85238ea9d49e["SegmentedDatagramPacketAllocator()"]
  abe05d2b_7c0b_41d8_603b_9db3e54f7ecd -->|method| 14978cd1_ddcb_1761_f357_85238ea9d49e

Relationship Graph

Source Code

codec-classes-quic/src/main/java/io/netty/handler/codec/quic/EpollQuicUtils.java lines 28–65

public final class EpollQuicUtils {

    private EpollQuicUtils() { }

    /**
     * Return a new {@link SegmentedDatagramPacketAllocator} that can be used while using
     * {@link io.netty.channel.epoll.EpollDatagramChannel}.
     *
     * @param maxNumSegments the maximum number of segments that we try to send in one packet.
     * @return a allocator.
     */
    public static SegmentedDatagramPacketAllocator newSegmentedAllocator(int maxNumSegments) {
        ObjectUtil.checkInRange(maxNumSegments, 1, 64, "maxNumSegments");
        if (SegmentedDatagramPacket.isSupported()) {
            return new EpollSegmentedDatagramPacketAllocator(maxNumSegments);
        }
        return SegmentedDatagramPacketAllocator.NONE;
    }

    private static final class EpollSegmentedDatagramPacketAllocator implements SegmentedDatagramPacketAllocator {

        private final int maxNumSegments;

        EpollSegmentedDatagramPacketAllocator(int maxNumSegments) {
            this.maxNumSegments = maxNumSegments;
        }

        @Override
        public int maxNumSegments() {
            return maxNumSegments;
        }

        @Override
        public DatagramPacket newPacket(ByteBuf buffer, int segmentSize, InetSocketAddress remoteAddress) {
            return new io.netty.channel.unix.SegmentedDatagramPacket(buffer, segmentSize, remoteAddress);
        }
    }
}

Frequently Asked Questions

What is the EpollQuicUtils class?
EpollQuicUtils is a class in the netty codebase, defined in codec-classes-quic/src/main/java/io/netty/handler/codec/quic/EpollQuicUtils.java.
Where is EpollQuicUtils defined?
EpollQuicUtils is defined in codec-classes-quic/src/main/java/io/netty/handler/codec/quic/EpollQuicUtils.java at line 28.

Analyze Your Own Codebase

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

Try Supermodel Free