ObjectEncoder Class — netty Architecture
Architecture documentation for the ObjectEncoder class in ObjectEncoder.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD f1589154_b31d_6110_6729_e18015dc79b2["ObjectEncoder"] 81fe6039_b27c_6d36_308c_d108ce4203fd["ObjectEncoder.java"] f1589154_b31d_6110_6729_e18015dc79b2 -->|defined in| 81fe6039_b27c_6d36_308c_d108ce4203fd 3dc2c72a_ceca_cd2c_1190_3fa315cc6b5e["ObjectEncoder()"] f1589154_b31d_6110_6729_e18015dc79b2 -->|method| 3dc2c72a_ceca_cd2c_1190_3fa315cc6b5e e1e28d66_d746_237b_d961_ea4199245044["encode()"] f1589154_b31d_6110_6729_e18015dc79b2 -->|method| e1e28d66_d746_237b_d961_ea4199245044
Relationship Graph
Source Code
codec-base/src/main/java/io/netty/handler/codec/serialization/ObjectEncoder.java lines 46–78
@Deprecated
@Sharable
public class ObjectEncoder extends MessageToByteEncoder<Serializable> {
private static final byte[] LENGTH_PLACEHOLDER = new byte[4];
public ObjectEncoder() {
super(Serializable.class);
}
@Override
protected void encode(ChannelHandlerContext ctx, Serializable msg, ByteBuf out) throws Exception {
int startIdx = out.writerIndex();
ByteBufOutputStream bout = new ByteBufOutputStream(out);
ObjectOutputStream oout = null;
try {
bout.write(LENGTH_PLACEHOLDER);
oout = new CompactObjectOutputStream(bout);
oout.writeObject(msg);
oout.flush();
} finally {
if (oout != null) {
oout.close();
} else {
bout.close();
}
}
int endIdx = out.writerIndex();
out.setInt(startIdx, endIdx - startIdx - 4);
}
}
Source
Frequently Asked Questions
What is the ObjectEncoder class?
ObjectEncoder is a class in the netty codebase, defined in codec-base/src/main/java/io/netty/handler/codec/serialization/ObjectEncoder.java.
Where is ObjectEncoder defined?
ObjectEncoder is defined in codec-base/src/main/java/io/netty/handler/codec/serialization/ObjectEncoder.java at line 46.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free