Socks4ClientEncoder Class — netty Architecture
Architecture documentation for the Socks4ClientEncoder class in Socks4ClientEncoder.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 290d24f3_ad46_b684_ff61_0cb22ac2823c["Socks4ClientEncoder"] beb1b69f_c472_d4f8_58a9_481646c4616c["Socks4ClientEncoder.java"] 290d24f3_ad46_b684_ff61_0cb22ac2823c -->|defined in| beb1b69f_c472_d4f8_58a9_481646c4616c 050cedc9_2182_1118_3c95_ca024b3c415f["Socks4ClientEncoder()"] 290d24f3_ad46_b684_ff61_0cb22ac2823c -->|method| 050cedc9_2182_1118_3c95_ca024b3c415f 4d5a76d9_f907_b020_9b5e_9dddf5760d1a["encode()"] 290d24f3_ad46_b684_ff61_0cb22ac2823c -->|method| 4d5a76d9_f907_b020_9b5e_9dddf5760d1a
Relationship Graph
Source Code
codec-socks/src/main/java/io/netty/handler/codec/socksx/v4/Socks4ClientEncoder.java lines 29–60
@Sharable
public final class Socks4ClientEncoder extends MessageToByteEncoder<Socks4CommandRequest> {
/**
* The singleton instance of {@link Socks4ClientEncoder}
*/
public static final Socks4ClientEncoder INSTANCE = new Socks4ClientEncoder();
private static final byte[] IPv4_DOMAIN_MARKER = {0x00, 0x00, 0x00, 0x01};
private Socks4ClientEncoder() {
super(Socks4CommandRequest.class);
}
@Override
protected void encode(ChannelHandlerContext ctx, Socks4CommandRequest msg, ByteBuf out) throws Exception {
out.writeByte(msg.version().byteValue());
out.writeByte(msg.type().byteValue());
ByteBufUtil.writeShortBE(out, msg.dstPort());
if (NetUtil.isValidIpV4Address(msg.dstAddr())) {
out.writeBytes(NetUtil.createByteArrayFromIpAddressString(msg.dstAddr()));
ByteBufUtil.writeAscii(out, msg.userId());
out.writeByte(0);
} else {
out.writeBytes(IPv4_DOMAIN_MARKER);
ByteBufUtil.writeAscii(out, msg.userId());
out.writeByte(0);
ByteBufUtil.writeAscii(out, msg.dstAddr());
out.writeByte(0);
}
}
}
Source
Frequently Asked Questions
What is the Socks4ClientEncoder class?
Socks4ClientEncoder is a class in the netty codebase, defined in codec-socks/src/main/java/io/netty/handler/codec/socksx/v4/Socks4ClientEncoder.java.
Where is Socks4ClientEncoder defined?
Socks4ClientEncoder is defined in codec-socks/src/main/java/io/netty/handler/codec/socksx/v4/Socks4ClientEncoder.java at line 29.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free