Home / Function/ encode() — netty Function Reference

encode() — netty Function Reference

Architecture documentation for the encode() function in ZstdEncoder.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  a1ecf6dc_a2a8_b4cd_6687_b85c0ec6b659["encode()"]
  c54867ac_e573_180e_1e85_7abab9317cc8["ZstdEncoder"]
  a1ecf6dc_a2a8_b4cd_6687_b85c0ec6b659 -->|defined in| c54867ac_e573_180e_1e85_7abab9317cc8
  0c4095c4_5e2f_0027_e81b_119c77332d8c["flushBufferedData()"]
  a1ecf6dc_a2a8_b4cd_6687_b85c0ec6b659 -->|calls| 0c4095c4_5e2f_0027_e81b_119c77332d8c
  style a1ecf6dc_a2a8_b4cd_6687_b85c0ec6b659 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

codec-compression/src/main/java/io/netty/handler/codec/compression/ZstdEncoder.java lines 129–151

    @Override
    protected void encode(ChannelHandlerContext ctx, ByteBuf in, ByteBuf out) {
        if (buffer == null) {
            throw new IllegalStateException("not added to a pipeline," +
                    "or has been removed,buffer is null");
        }

        final ByteBuf buffer = this.buffer;
        int length;
        while ((length = in.readableBytes()) > 0) {
            final int nextChunkSize = Math.min(length, buffer.writableBytes());
            in.readBytes(buffer, nextChunkSize);

            if (!buffer.isWritable()) {
                flushBufferedData(out);
            }
        }
        // return the remaining data in the buffer
        // when buffer size is smaller than the block size
        if (buffer.isReadable()) {
            flushBufferedData(out);
        }
    }

Domain

Subdomains

Frequently Asked Questions

What does encode() do?
encode() is a function in the netty codebase, defined in codec-compression/src/main/java/io/netty/handler/codec/compression/ZstdEncoder.java.
Where is encode() defined?
encode() is defined in codec-compression/src/main/java/io/netty/handler/codec/compression/ZstdEncoder.java at line 129.
What does encode() call?
encode() calls 1 function(s): flushBufferedData.

Analyze Your Own Codebase

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

Try Supermodel Free