ObjectDecoder Class — netty Architecture
Architecture documentation for the ObjectDecoder class in ObjectDecoder.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 3a885ee2_b9c7_c4f6_6ded_f923e5c1a93f["ObjectDecoder"] ed282aa0_469b_e3c3_cef2_b0178b25c988["ObjectDecoder.java"] 3a885ee2_b9c7_c4f6_6ded_f923e5c1a93f -->|defined in| ed282aa0_469b_e3c3_cef2_b0178b25c988 75a3e023_3acf_2f50_f2c3_e27c6c4060ed["ObjectDecoder()"] 3a885ee2_b9c7_c4f6_6ded_f923e5c1a93f -->|method| 75a3e023_3acf_2f50_f2c3_e27c6c4060ed 37771d8c_acec_36bc_9d76_fb7932063a1b["Object()"] 3a885ee2_b9c7_c4f6_6ded_f923e5c1a93f -->|method| 37771d8c_acec_36bc_9d76_fb7932063a1b
Relationship Graph
Source Code
codec-base/src/main/java/io/netty/handler/codec/serialization/ObjectDecoder.java lines 46–92
@Deprecated
public class ObjectDecoder extends LengthFieldBasedFrameDecoder {
private final ClassResolver classResolver;
/**
* Creates a new decoder whose maximum object size is {@code 1048576}
* bytes. If the size of the received object is greater than
* {@code 1048576} bytes, a {@link StreamCorruptedException} will be
* raised.
*
* @param classResolver the {@link ClassResolver} to use for this decoder
*/
public ObjectDecoder(ClassResolver classResolver) {
this(1048576, classResolver);
}
/**
* Creates a new decoder with the specified maximum object size.
*
* @param maxObjectSize the maximum byte length of the serialized object.
* if the length of the received object is greater
* than this value, {@link StreamCorruptedException}
* will be raised.
* @param classResolver the {@link ClassResolver} which will load the class
* of the serialized object
*/
public ObjectDecoder(int maxObjectSize, ClassResolver classResolver) {
super(maxObjectSize, 0, 4, 0, 4);
this.classResolver = classResolver;
}
@Override
protected Object decode(ChannelHandlerContext ctx, ByteBuf in) throws Exception {
ByteBuf frame = (ByteBuf) super.decode(ctx, in);
if (frame == null) {
return null;
}
ObjectInputStream ois = new CompactObjectInputStream(new ByteBufInputStream(frame, true), classResolver);
try {
return ois.readObject();
} finally {
ois.close();
}
}
}
Source
Frequently Asked Questions
What is the ObjectDecoder class?
ObjectDecoder is a class in the netty codebase, defined in codec-base/src/main/java/io/netty/handler/codec/serialization/ObjectDecoder.java.
Where is ObjectDecoder defined?
ObjectDecoder is defined in codec-base/src/main/java/io/netty/handler/codec/serialization/ObjectDecoder.java at line 46.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free