Home / Function/ addMessage() — netty Function Reference

addMessage() — netty Function Reference

Architecture documentation for the addMessage() function in ChannelOutboundBuffer.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  88f982fc_caf9_0319_b65e_2fb365723618["addMessage()"]
  509b1bc5_7cdc_9ee4_03d9_31eb2203d807["ChannelOutboundBuffer"]
  88f982fc_caf9_0319_b65e_2fb365723618 -->|defined in| 509b1bc5_7cdc_9ee4_03d9_31eb2203d807
  eebc2e03_942d_1252_0ab7_824d613db683["total()"]
  88f982fc_caf9_0319_b65e_2fb365723618 -->|calls| eebc2e03_942d_1252_0ab7_824d613db683
  edd2d6a1_6e66_f250_6201_d45b2f33f2fa["incrementPendingOutboundBytes()"]
  88f982fc_caf9_0319_b65e_2fb365723618 -->|calls| edd2d6a1_6e66_f250_6201_d45b2f33f2fa
  style 88f982fc_caf9_0319_b65e_2fb365723618 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

transport/src/main/java/io/netty/channel/ChannelOutboundBuffer.java lines 114–140

    public void addMessage(Object msg, int size, ChannelPromise promise) {
        Entry entry = Entry.newInstance(msg, size, total(msg), promise);
        if (tailEntry == null) {
            flushedEntry = null;
        } else {
            Entry tail = tailEntry;
            tail.next = entry;
        }
        tailEntry = entry;
        if (unflushedEntry == null) {
            unflushedEntry = entry;
        }

        // Touch the message to make it easier to debug buffer leaks.

        // this save both checking against the ReferenceCounted interface
        // and makes better use of virtual calls vs interface ones
        if (msg instanceof AbstractReferenceCountedByteBuf) {
            ((AbstractReferenceCountedByteBuf) msg).touch();
        } else {
            ReferenceCountUtil.touch(msg);
        }

        // increment pending bytes after adding message to the unflushed arrays.
        // See https://github.com/netty/netty/issues/1619
        incrementPendingOutboundBytes(entry.pendingSize, false);
    }

Domain

Subdomains

Frequently Asked Questions

What does addMessage() do?
addMessage() is a function in the netty codebase, defined in transport/src/main/java/io/netty/channel/ChannelOutboundBuffer.java.
Where is addMessage() defined?
addMessage() is defined in transport/src/main/java/io/netty/channel/ChannelOutboundBuffer.java at line 114.
What does addMessage() call?
addMessage() calls 2 function(s): incrementPendingOutboundBytes, total.

Analyze Your Own Codebase

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

Try Supermodel Free