Home / Class/ SegmentedDatagramPacket Class — netty Architecture

SegmentedDatagramPacket Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  0381c596_41b0_4b12_4090_fb5ba687eda8["SegmentedDatagramPacket"]
  d20ee58a_7d33_3b48_949a_c0d961353e9c["SegmentedDatagramPacket.java"]
  0381c596_41b0_4b12_4090_fb5ba687eda8 -->|defined in| d20ee58a_7d33_3b48_949a_c0d961353e9c
  d78c19eb_d1ca_6f46_1b7d_d9572012732b["SegmentedDatagramPacket()"]
  0381c596_41b0_4b12_4090_fb5ba687eda8 -->|method| d78c19eb_d1ca_6f46_1b7d_d9572012732b
  1404a2c2_463d_4d28_099b_94399f002777["isSupported()"]
  0381c596_41b0_4b12_4090_fb5ba687eda8 -->|method| 1404a2c2_463d_4d28_099b_94399f002777
  23aa34cb_ac5a_196f_8a26_3dc7e9ee0644["checkIsSupported()"]
  0381c596_41b0_4b12_4090_fb5ba687eda8 -->|method| 23aa34cb_ac5a_196f_8a26_3dc7e9ee0644

Relationship Graph

Source Code

transport-classes-epoll/src/main/java/io/netty/channel/epoll/SegmentedDatagramPacket.java lines 25–111

@Deprecated
public final class SegmentedDatagramPacket extends io.netty.channel.unix.SegmentedDatagramPacket {

    /**
     * Create a new instance.
     *
     * @param data          the {@link ByteBuf} which must be continguous.
     * @param segmentSize   the segment size.
     * @param recipient     the recipient.
     */
    public SegmentedDatagramPacket(ByteBuf data, int segmentSize, InetSocketAddress recipient) {
        super(data, segmentSize, recipient);
        checkIsSupported();
    }

    /**
     * Create a new instance.
     *
     * @param data          the {@link ByteBuf} which must be continguous.
     * @param segmentSize   the segment size.
     * @param recipient     the recipient.
     */
    public SegmentedDatagramPacket(ByteBuf data, int segmentSize,
                                   InetSocketAddress recipient, InetSocketAddress sender) {
        super(data, segmentSize, recipient, sender);
        checkIsSupported();
    }

    /**
     * Returns {@code true} if the underlying system supports GSO.
     */
    public static boolean isSupported() {
        return Epoll.isAvailable() &&
                // We only support it together with sendmmsg(...)
                Native.IS_SUPPORTING_SENDMMSG && Native.IS_SUPPORTING_UDP_SEGMENT;
    }

    @Override
    public SegmentedDatagramPacket copy() {
        return new SegmentedDatagramPacket(content().copy(), segmentSize(), recipient(), sender());
    }

    @Override
    public SegmentedDatagramPacket duplicate() {
        return new SegmentedDatagramPacket(content().duplicate(), segmentSize(), recipient(), sender());
    }

    @Override
    public SegmentedDatagramPacket retainedDuplicate() {
        return new SegmentedDatagramPacket(content().retainedDuplicate(), segmentSize(), recipient(), sender());
    }

    @Override
    public SegmentedDatagramPacket replace(ByteBuf content) {
        return new SegmentedDatagramPacket(content, segmentSize(), recipient(), sender());
    }

    @Override
    public SegmentedDatagramPacket retain() {
        super.retain();
        return this;
    }

    @Override
    public SegmentedDatagramPacket retain(int increment) {
        super.retain(increment);
        return this;
    }

    @Override
    public SegmentedDatagramPacket touch() {
        super.touch();
        return this;
    }

    @Override
    public SegmentedDatagramPacket touch(Object hint) {
        super.touch(hint);
        return this;
    }

Frequently Asked Questions

What is the SegmentedDatagramPacket class?
SegmentedDatagramPacket is a class in the netty codebase, defined in transport-classes-epoll/src/main/java/io/netty/channel/epoll/SegmentedDatagramPacket.java.
Where is SegmentedDatagramPacket defined?
SegmentedDatagramPacket is defined in transport-classes-epoll/src/main/java/io/netty/channel/epoll/SegmentedDatagramPacket.java at line 25.

Analyze Your Own Codebase

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

Try Supermodel Free