Home / Class/ NumberEncoder Class — netty Architecture

NumberEncoder Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  26c76dbf_097c_5584_5611_c17c26d056d1["NumberEncoder"]
  fed263fa_7187_f56e_aa71_f4df539c861f["NumberEncoder.java"]
  26c76dbf_097c_5584_5611_c17c26d056d1 -->|defined in| fed263fa_7187_f56e_aa71_f4df539c861f
  fc92fab1_94bd_7ea6_f4e8_d86d9046709b["encode()"]
  26c76dbf_097c_5584_5611_c17c26d056d1 -->|method| fc92fab1_94bd_7ea6_f4e8_d86d9046709b

Relationship Graph

Source Code

example/src/main/java/io/netty/example/factorial/NumberEncoder.java lines 29–50

public class NumberEncoder extends MessageToByteEncoder<Number> {

    @Override
    protected void encode(ChannelHandlerContext ctx, Number msg, ByteBuf out) {
        // Convert to a BigInteger first for easier implementation.
        BigInteger v;
        if (msg instanceof BigInteger) {
            v = (BigInteger) msg;
        } else {
            v = new BigInteger(String.valueOf(msg));
        }

        // Convert the number into a byte array.
        byte[] data = v.toByteArray();
        int dataLength = data.length;

        // Write a message.
        out.writeByte((byte) 'F'); // magic number
        out.writeInt(dataLength);  // data length
        out.writeBytes(data);      // data
    }
}

Frequently Asked Questions

What is the NumberEncoder class?
NumberEncoder is a class in the netty codebase, defined in example/src/main/java/io/netty/example/factorial/NumberEncoder.java.
Where is NumberEncoder defined?
NumberEncoder is defined in example/src/main/java/io/netty/example/factorial/NumberEncoder.java at line 29.

Analyze Your Own Codebase

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

Try Supermodel Free