Home / Class/ DefaultAddressedEnvelope Class — netty Architecture

DefaultAddressedEnvelope Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  c9eb8732_09f3_d5c6_9309_aaf27b28c7af["DefaultAddressedEnvelope"]
  0773163b_cb1d_0cfb_f872_f3e723595f9c["DefaultAddressedEnvelope.java"]
  c9eb8732_09f3_d5c6_9309_aaf27b28c7af -->|defined in| 0773163b_cb1d_0cfb_f872_f3e723595f9c
  4aa76d2c_ece9_8655_e1ef_70c715f1bfd0["DefaultAddressedEnvelope()"]
  c9eb8732_09f3_d5c6_9309_aaf27b28c7af -->|method| 4aa76d2c_ece9_8655_e1ef_70c715f1bfd0
  61e2b522_6505_97a7_cca7_064b24464c3b["M()"]
  c9eb8732_09f3_d5c6_9309_aaf27b28c7af -->|method| 61e2b522_6505_97a7_cca7_064b24464c3b
  4166c7bf_a5ce_cd39_be50_5f57315381b9["A()"]
  c9eb8732_09f3_d5c6_9309_aaf27b28c7af -->|method| 4166c7bf_a5ce_cd39_be50_5f57315381b9
  bfce7a76_8d18_12e6_4377_c7c269fd474d["refCnt()"]
  c9eb8732_09f3_d5c6_9309_aaf27b28c7af -->|method| bfce7a76_8d18_12e6_4377_c7c269fd474d
  4cb9cc6d_f435_79b5_53a3_6e69f47a42f7["retain()"]
  c9eb8732_09f3_d5c6_9309_aaf27b28c7af -->|method| 4cb9cc6d_f435_79b5_53a3_6e69f47a42f7
  c91cc792_e2a6_4a38_2050_c395d7ddcc0e["release()"]
  c9eb8732_09f3_d5c6_9309_aaf27b28c7af -->|method| c91cc792_e2a6_4a38_2050_c395d7ddcc0e
  b266a770_3c25_2ca6_e568_4a0d2cae00a9["touch()"]
  c9eb8732_09f3_d5c6_9309_aaf27b28c7af -->|method| b266a770_3c25_2ca6_e568_4a0d2cae00a9
  cbcdb667_8df6_bd8c_a31a_78d34bd211b0["String()"]
  c9eb8732_09f3_d5c6_9309_aaf27b28c7af -->|method| cbcdb667_8df6_bd8c_a31a_78d34bd211b0

Relationship Graph

Source Code

transport/src/main/java/io/netty/channel/DefaultAddressedEnvelope.java lines 32–129

public class DefaultAddressedEnvelope<M, A extends SocketAddress> implements AddressedEnvelope<M, A> {

    private final M message;
    private final A sender;
    private final A recipient;

    /**
     * Creates a new instance with the specified {@code message}, {@code recipient} address, and
     * {@code sender} address.
     */
    public DefaultAddressedEnvelope(M message, A recipient, A sender) {
        ObjectUtil.checkNotNull(message, "message");
        if (recipient == null && sender == null) {
            throw new NullPointerException("recipient and sender");
        }

        this.message = message;
        this.sender = sender;
        this.recipient = recipient;
    }

    /**
     * Creates a new instance with the specified {@code message} and {@code recipient} address.
     * The sender address becomes {@code null}.
     */
    public DefaultAddressedEnvelope(M message, A recipient) {
        this(message, recipient, null);
    }

    @Override
    public M content() {
        return message;
    }

    @Override
    public A sender() {
        return sender;
    }

    @Override
    public A recipient() {
        return recipient;
    }

    @Override
    public int refCnt() {
        if (message instanceof ReferenceCounted) {
            return ((ReferenceCounted) message).refCnt();
        } else {
            return 1;
        }
    }

    @Override
    public AddressedEnvelope<M, A> retain() {
        ReferenceCountUtil.retain(message);
        return this;
    }

    @Override
    public AddressedEnvelope<M, A> retain(int increment) {
        ReferenceCountUtil.retain(message, increment);
        return this;
    }

    @Override
    public boolean release() {
        return ReferenceCountUtil.release(message);
    }

    @Override
    public boolean release(int decrement) {
        return ReferenceCountUtil.release(message, decrement);
    }

    @Override
    public AddressedEnvelope<M, A> touch() {
        ReferenceCountUtil.touch(message);
        return this;
    }

Frequently Asked Questions

What is the DefaultAddressedEnvelope class?
DefaultAddressedEnvelope is a class in the netty codebase, defined in transport/src/main/java/io/netty/channel/DefaultAddressedEnvelope.java.
Where is DefaultAddressedEnvelope defined?
DefaultAddressedEnvelope is defined in transport/src/main/java/io/netty/channel/DefaultAddressedEnvelope.java at line 32.

Analyze Your Own Codebase

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

Try Supermodel Free