Home / Class/ AbstractBinaryMemcacheMessage Class — netty Architecture

AbstractBinaryMemcacheMessage Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  ffe7b0b6_2f66_d017_9ac8_42abbc66026f["AbstractBinaryMemcacheMessage"]
  a58e4274_4518_2983_b103_74aaaa3f7d24["AbstractBinaryMemcacheMessage.java"]
  ffe7b0b6_2f66_d017_9ac8_42abbc66026f -->|defined in| a58e4274_4518_2983_b103_74aaaa3f7d24
  bfaa379b_a976_40f2_c1f5_daeccb7cbbe3["AbstractBinaryMemcacheMessage()"]
  ffe7b0b6_2f66_d017_9ac8_42abbc66026f -->|method| bfaa379b_a976_40f2_c1f5_daeccb7cbbe3
  21d54d7b_12a3_ed23_bdde_c2b12e66d648["ByteBuf()"]
  ffe7b0b6_2f66_d017_9ac8_42abbc66026f -->|method| 21d54d7b_12a3_ed23_bdde_c2b12e66d648
  097143c0_1b13_b841_6b46_b25ba53ebb2b["BinaryMemcacheMessage()"]
  ffe7b0b6_2f66_d017_9ac8_42abbc66026f -->|method| 097143c0_1b13_b841_6b46_b25ba53ebb2b
  e2497f6a_24b4_4aab_8301_8b4506299208["magic()"]
  ffe7b0b6_2f66_d017_9ac8_42abbc66026f -->|method| e2497f6a_24b4_4aab_8301_8b4506299208
  cac78405_7c1f_783d_119e_3a9f1dc93b86["cas()"]
  ffe7b0b6_2f66_d017_9ac8_42abbc66026f -->|method| cac78405_7c1f_783d_119e_3a9f1dc93b86
  ef95a3e2_516b_6e8d_703d_6afa37d56d6f["opaque()"]
  ffe7b0b6_2f66_d017_9ac8_42abbc66026f -->|method| ef95a3e2_516b_6e8d_703d_6afa37d56d6f
  8c9821d7_7dbf_b48f_dcec_d143894eb684["totalBodyLength()"]
  ffe7b0b6_2f66_d017_9ac8_42abbc66026f -->|method| 8c9821d7_7dbf_b48f_dcec_d143894eb684
  d8f87da8_4851_1237_c940_94f09ba51aee["dataType()"]
  ffe7b0b6_2f66_d017_9ac8_42abbc66026f -->|method| d8f87da8_4851_1237_c940_94f09ba51aee
  51b75807_7e8e_74b1_4fb5_51275263ea9d["extrasLength()"]
  ffe7b0b6_2f66_d017_9ac8_42abbc66026f -->|method| 51b75807_7e8e_74b1_4fb5_51275263ea9d
  b1757d31_6354_7608_6f7b_0815c06acec2["keyLength()"]
  ffe7b0b6_2f66_d017_9ac8_42abbc66026f -->|method| b1757d31_6354_7608_6f7b_0815c06acec2
  4c205735_a401_e1f4_5293_2a3f7de6fce4["opcode()"]
  ffe7b0b6_2f66_d017_9ac8_42abbc66026f -->|method| 4c205735_a401_e1f4_5293_2a3f7de6fce4
  2885f115_38bf_e7a1_878d_f2715530a033["deallocate()"]
  ffe7b0b6_2f66_d017_9ac8_42abbc66026f -->|method| 2885f115_38bf_e7a1_878d_f2715530a033
  9894525c_ce50_de43_8a21_de5301bfeb91["copyMeta()"]
  ffe7b0b6_2f66_d017_9ac8_42abbc66026f -->|method| 9894525c_ce50_de43_8a21_de5301bfeb91

Relationship Graph

Source Code

codec-memcache/src/main/java/io/netty/handler/codec/memcache/binary/AbstractBinaryMemcacheMessage.java lines 25–251

@UnstableApi
public abstract class AbstractBinaryMemcacheMessage
    extends AbstractMemcacheObject
    implements BinaryMemcacheMessage {

    /**
     * Contains the optional key.
     */
    private ByteBuf key;

    /**
     * Contains the optional extras.
     */
    private ByteBuf extras;

    private byte magic;
    private byte opcode;
    private short keyLength;
    private byte extrasLength;
    private byte dataType;
    private int totalBodyLength;
    private int opaque;
    private long cas;

    /**
     * Create a new instance with all properties set.
     *
     * @param key    the message key.
     * @param extras the message extras.
     */
    protected AbstractBinaryMemcacheMessage(ByteBuf key, ByteBuf extras) {
        this.key = key;
        keyLength = key == null ? 0 : (short) key.readableBytes();
        this.extras = extras;
        extrasLength = extras == null ? 0 : (byte) extras.readableBytes();
        totalBodyLength = keyLength + extrasLength;
    }

    @Override
    public ByteBuf key() {
        return key;
    }

    @Override
    public ByteBuf extras() {
        return extras;
    }

    @Override
    public BinaryMemcacheMessage setKey(ByteBuf key) {
        if (this.key != null) {
            this.key.release();
        }
        this.key = key;
        short oldKeyLength = keyLength;
        keyLength = key == null ? 0 : (short) key.readableBytes();
        totalBodyLength = totalBodyLength + keyLength - oldKeyLength;
        return this;
    }

    @Override
    public BinaryMemcacheMessage setExtras(ByteBuf extras) {
        if (this.extras != null) {
            this.extras.release();
        }
        this.extras = extras;
        short oldExtrasLength = extrasLength;
        extrasLength = extras == null ? 0 : (byte) extras.readableBytes();
        totalBodyLength = totalBodyLength + extrasLength - oldExtrasLength;
        return this;
    }

    @Override
    public byte magic() {
        return magic;
    }

    @Override
    public BinaryMemcacheMessage setMagic(byte magic) {
        this.magic = magic;
        return this;

Frequently Asked Questions

What is the AbstractBinaryMemcacheMessage class?
AbstractBinaryMemcacheMessage is a class in the netty codebase, defined in codec-memcache/src/main/java/io/netty/handler/codec/memcache/binary/AbstractBinaryMemcacheMessage.java.
Where is AbstractBinaryMemcacheMessage defined?
AbstractBinaryMemcacheMessage is defined in codec-memcache/src/main/java/io/netty/handler/codec/memcache/binary/AbstractBinaryMemcacheMessage.java at line 25.

Analyze Your Own Codebase

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

Try Supermodel Free