encode() — netty Function Reference
Architecture documentation for the encode() function in LengthFieldPrepender.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 623eb732_bf2f_85ee_4883_3927a552fc2d["encode()"] 7b43e9c4_2b39_a856_0445_cfeef19dc54a["LengthFieldPrepender"] 623eb732_bf2f_85ee_4883_3927a552fc2d -->|defined in| 7b43e9c4_2b39_a856_0445_cfeef19dc54a style 623eb732_bf2f_85ee_4883_3927a552fc2d fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
codec-base/src/main/java/io/netty/handler/codec/LengthFieldPrepender.java lines 160–201
@Override
protected void encode(ChannelHandlerContext ctx, ByteBuf msg, List<Object> out) throws Exception {
int length = msg.readableBytes() + lengthAdjustment;
if (lengthIncludesLengthFieldLength) {
length += lengthFieldLength;
}
checkPositiveOrZero(length, "length");
switch (lengthFieldLength) {
case 1:
if (length >= 256) {
throw new IllegalArgumentException(
"length does not fit into a byte: " + length);
}
out.add(ctx.alloc().buffer(1).order(byteOrder).writeByte((byte) length));
break;
case 2:
if (length >= 65536) {
throw new IllegalArgumentException(
"length does not fit into a short integer: " + length);
}
out.add(ctx.alloc().buffer(2).order(byteOrder).writeShort((short) length));
break;
case 3:
if (length >= 16777216) {
throw new IllegalArgumentException(
"length does not fit into a medium integer: " + length);
}
out.add(ctx.alloc().buffer(3).order(byteOrder).writeMedium(length));
break;
case 4:
out.add(ctx.alloc().buffer(4).order(byteOrder).writeInt(length));
break;
case 8:
out.add(ctx.alloc().buffer(8).order(byteOrder).writeLong(length));
break;
default:
throw new Error("Unexpected length field length: " + lengthFieldLength);
}
out.add(msg.retain());
}
Domain
Subdomains
Source
Frequently Asked Questions
What does encode() do?
encode() is a function in the netty codebase, defined in codec-base/src/main/java/io/netty/handler/codec/LengthFieldPrepender.java.
Where is encode() defined?
encode() is defined in codec-base/src/main/java/io/netty/handler/codec/LengthFieldPrepender.java at line 160.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free