Home / Function/ decode() — netty Function Reference

decode() — netty Function Reference

Architecture documentation for the decode() function in ProtobufDecoder.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  fc801aa9_27fe_799c_cfe9_4b1340400b98["decode()"]
  ef4ddb0e_b68c_68c0_a9e8_0ceddc13f22d["ProtobufDecoder"]
  fc801aa9_27fe_799c_cfe9_4b1340400b98 -->|defined in| ef4ddb0e_b68c_68c0_a9e8_0ceddc13f22d
  style fc801aa9_27fe_799c_cfe9_4b1340400b98 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

codec-protobuf/src/main/java/io/netty/handler/codec/protobuf/ProtobufDecoder.java lines 104–133

    @Override
    protected void decode(ChannelHandlerContext ctx, ByteBuf msg, List<Object> out)
            throws Exception {
        final byte[] array;
        final int offset;
        final int length = msg.readableBytes();
        if (msg.hasArray()) {
            array = msg.array();
            offset = msg.arrayOffset() + msg.readerIndex();
        } else {
            array = ByteBufUtil.getBytes(msg, msg.readerIndex(), length, false);
            offset = 0;
        }

        if (extensionRegistry == null) {
            if (HAS_PARSER) {
                out.add(prototype.getParserForType().parseFrom(array, offset, length));
            } else {
                out.add(prototype.newBuilderForType().mergeFrom(array, offset, length).build());
            }
        } else {
            if (HAS_PARSER) {
                out.add(prototype.getParserForType().parseFrom(
                        array, offset, length, extensionRegistry));
            } else {
                out.add(prototype.newBuilderForType().mergeFrom(
                        array, offset, length, extensionRegistry).build());
            }
        }
    }

Domain

Subdomains

Frequently Asked Questions

What does decode() do?
decode() is a function in the netty codebase, defined in codec-protobuf/src/main/java/io/netty/handler/codec/protobuf/ProtobufDecoder.java.
Where is decode() defined?
decode() is defined in codec-protobuf/src/main/java/io/netty/handler/codec/protobuf/ProtobufDecoder.java at line 104.

Analyze Your Own Codebase

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

Try Supermodel Free