Home / Function/ write() — netty Function Reference

write() — netty Function Reference

Architecture documentation for the write() function in MessageToByteEncoder.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  c5c4c26c_eabe_677a_0caa_4b1c0ac9335e["write()"]
  3f1af45c_e168_cac3_b1c5_69c45a971df1["MessageToByteEncoder"]
  c5c4c26c_eabe_677a_0caa_4b1c0ac9335e -->|defined in| 3f1af45c_e168_cac3_b1c5_69c45a971df1
  c7e5a693_467a_b60c_89dd_9d29c6288cb6["acceptOutboundMessage()"]
  c5c4c26c_eabe_677a_0caa_4b1c0ac9335e -->|calls| c7e5a693_467a_b60c_89dd_9d29c6288cb6
  c94dd07c_bb02_cb43_1273_5ad80dd8787c["encode()"]
  c5c4c26c_eabe_677a_0caa_4b1c0ac9335e -->|calls| c94dd07c_bb02_cb43_1273_5ad80dd8787c
  style c5c4c26c_eabe_677a_0caa_4b1c0ac9335e fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

codec-base/src/main/java/io/netty/handler/codec/MessageToByteEncoder.java lines 98–131

    @Override
    public void write(ChannelHandlerContext ctx, Object msg, ChannelPromise promise) throws Exception {
        ByteBuf buf = null;
        try {
            if (acceptOutboundMessage(msg)) {
                @SuppressWarnings("unchecked")
                I cast = (I) msg;
                buf = allocateBuffer(ctx, cast, preferDirect);
                try {
                    encode(ctx, cast, buf);
                } finally {
                    ReferenceCountUtil.release(cast);
                }

                if (buf.isReadable()) {
                    ctx.write(buf, promise);
                } else {
                    buf.release();
                    ctx.write(Unpooled.EMPTY_BUFFER, promise);
                }
                buf = null;
            } else {
                ctx.write(msg, promise);
            }
        } catch (EncoderException e) {
            throw e;
        } catch (Throwable e) {
            throw new EncoderException(e);
        } finally {
            if (buf != null) {
                buf.release();
            }
        }
    }

Domain

Subdomains

Frequently Asked Questions

What does write() do?
write() is a function in the netty codebase, defined in codec-base/src/main/java/io/netty/handler/codec/MessageToByteEncoder.java.
Where is write() defined?
write() is defined in codec-base/src/main/java/io/netty/handler/codec/MessageToByteEncoder.java at line 98.
What does write() call?
write() calls 2 function(s): acceptOutboundMessage, encode.

Analyze Your Own Codebase

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

Try Supermodel Free