Home / Class/ Socks4ServerEncoder Class — netty Architecture

Socks4ServerEncoder Class — netty Architecture

Architecture documentation for the Socks4ServerEncoder class in Socks4ServerEncoder.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  fbadd9b2_9c60_c04d_fd81_63f116df5fd8["Socks4ServerEncoder"]
  42e3304a_b872_308b_589a_7cee685f515e["Socks4ServerEncoder.java"]
  fbadd9b2_9c60_c04d_fd81_63f116df5fd8 -->|defined in| 42e3304a_b872_308b_589a_7cee685f515e
  d7998d75_49ce_6e2b_b7c2_9df1d825b5bc["Socks4ServerEncoder()"]
  fbadd9b2_9c60_c04d_fd81_63f116df5fd8 -->|method| d7998d75_49ce_6e2b_b7c2_9df1d825b5bc
  c238bdc4_2f1e_9365_92d5_4f931545e13d["encode()"]
  fbadd9b2_9c60_c04d_fd81_63f116df5fd8 -->|method| c238bdc4_2f1e_9365_92d5_4f931545e13d

Relationship Graph

Source Code

codec-socks/src/main/java/io/netty/handler/codec/socksx/v4/Socks4ServerEncoder.java lines 29–48

@Sharable
public final class Socks4ServerEncoder extends MessageToByteEncoder<Socks4CommandResponse> {

    public static final Socks4ServerEncoder INSTANCE = new Socks4ServerEncoder();

    private static final byte[] IPv4_HOSTNAME_ZEROED = { 0x00, 0x00, 0x00, 0x00 };

    private Socks4ServerEncoder() {
        super(Socks4CommandResponse.class);
    }

    @Override
    protected void encode(ChannelHandlerContext ctx, Socks4CommandResponse msg, ByteBuf out) throws Exception {
        out.writeByte(0);
        out.writeByte(msg.status().byteValue());
        ByteBufUtil.writeShortBE(out, msg.dstPort());
        out.writeBytes(msg.dstAddr() == null? IPv4_HOSTNAME_ZEROED
                                            : NetUtil.createByteArrayFromIpAddressString(msg.dstAddr()));
    }
}

Frequently Asked Questions

What is the Socks4ServerEncoder class?
Socks4ServerEncoder is a class in the netty codebase, defined in codec-socks/src/main/java/io/netty/handler/codec/socksx/v4/Socks4ServerEncoder.java.
Where is Socks4ServerEncoder defined?
Socks4ServerEncoder is defined in codec-socks/src/main/java/io/netty/handler/codec/socksx/v4/Socks4ServerEncoder.java at line 29.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free