encode() — netty Function Reference
Architecture documentation for the encode() function in HttpObjectEncoder.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 18cc7b78_3c6e_f726_9bf6_777174f30988["encode()"] 14c61705_9541_276a_37fa_eaab6f15ec5a["HttpObjectEncoder"] 18cc7b78_3c6e_f726_9bf6_777174f30988 -->|defined in| 14c61705_9541_276a_37fa_eaab6f15ec5a b0ddc820_c1a3_1132_127a_1624788c5f3b["write()"] b0ddc820_c1a3_1132_127a_1624788c5f3b -->|calls| 18cc7b78_3c6e_f726_9bf6_777174f30988 4d5953cb_854c_5e28_6a1b_484139dd485f["encodeFileRegionContent()"] 4d5953cb_854c_5e28_6a1b_484139dd485f -->|calls| 18cc7b78_3c6e_f726_9bf6_777174f30988 b7f03547_801e_f8bc_8cf5_573799e43a8c["encodeFullHttpMessage()"] 18cc7b78_3c6e_f726_9bf6_777174f30988 -->|calls| b7f03547_801e_f8bc_8cf5_573799e43a8c dfbc1010_4c37_d8b8_04e1_8fae7a3f2b99["encodeHttpMessageLastContent()"] 18cc7b78_3c6e_f726_9bf6_777174f30988 -->|calls| dfbc1010_4c37_d8b8_04e1_8fae7a3f2b99 a61eaa49_0095_25ca_894d_15f990231592["encodeHttpMessageNotLastContent()"] 18cc7b78_3c6e_f726_9bf6_777174f30988 -->|calls| a61eaa49_0095_25ca_894d_15f990231592 f4b7407a_0934_4718_fe2e_cb32b6bcf72d["encodeJustHttpMessage()"] 18cc7b78_3c6e_f726_9bf6_777174f30988 -->|calls| f4b7407a_0934_4718_fe2e_cb32b6bcf72d 9ac1b386_8738_51d3_522c_d4e7b37c3049["encodeNotHttpMessageContentTypes()"] 18cc7b78_3c6e_f726_9bf6_777174f30988 -->|calls| 9ac1b386_8738_51d3_522c_d4e7b37c3049 style 18cc7b78_3c6e_f726_9bf6_777174f30988 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
codec-http/src/main/java/io/netty/handler/codec/http/HttpObjectEncoder.java lines 156–191
@Override
@SuppressWarnings("ConditionCoveredByFurtherCondition")
protected void encode(ChannelHandlerContext ctx, Object msg, List<Object> out) throws Exception {
// fast-path for common idiom that doesn't require class-checks
if (msg == Unpooled.EMPTY_BUFFER) {
out.add(Unpooled.EMPTY_BUFFER);
return;
}
// The reason why we perform instanceof checks in this order,
// by duplicating some code and without relying on ReferenceCountUtil::release as a generic release
// mechanism, is https://bugs.openjdk.org/browse/JDK-8180450.
// https://github.com/netty/netty/issues/12708 contains more detail re how the previous version of this
// code was interacting with the JIT instanceof optimizations.
if (msg instanceof FullHttpMessage) {
encodeFullHttpMessage(ctx, msg, out);
return;
}
if (msg instanceof HttpMessage) {
final H m;
try {
m = (H) msg;
} catch (Exception rethrow) {
ReferenceCountUtil.release(msg);
throw rethrow;
}
if (m instanceof LastHttpContent) {
encodeHttpMessageLastContent(ctx, m, out);
} else if (m instanceof HttpContent) {
encodeHttpMessageNotLastContent(ctx, m, out);
} else {
encodeJustHttpMessage(ctx, m, out);
}
} else {
encodeNotHttpMessageContentTypes(ctx, msg, out);
}
}
Domain
Subdomains
Calls
Called By
Source
Frequently Asked Questions
What does encode() do?
encode() is a function in the netty codebase, defined in codec-http/src/main/java/io/netty/handler/codec/http/HttpObjectEncoder.java.
Where is encode() defined?
encode() is defined in codec-http/src/main/java/io/netty/handler/codec/http/HttpObjectEncoder.java at line 156.
What does encode() call?
encode() calls 5 function(s): encodeFullHttpMessage, encodeHttpMessageLastContent, encodeHttpMessageNotLastContent, encodeJustHttpMessage, encodeNotHttpMessageContentTypes.
What calls encode()?
encode() is called by 2 function(s): encodeFileRegionContent, write.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free