decode() — netty Function Reference
Architecture documentation for the decode() function in SocksPortUnificationServerHandler.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 84dd1d49_0500_3b6c_a98b_9bbe4994771e["decode()"] 0295c15b_38be_42b9_fdbc_ae5ee231d25e["SocksPortUnificationServerHandler"] 84dd1d49_0500_3b6c_a98b_9bbe4994771e -->|defined in| 0295c15b_38be_42b9_fdbc_ae5ee231d25e ade776af_6b34_0df9_6137_2fd6f40c6c84["logKnownVersion()"] 84dd1d49_0500_3b6c_a98b_9bbe4994771e -->|calls| ade776af_6b34_0df9_6137_2fd6f40c6c84 2318dec9_16fd_0df0_0412_2c11eec763d6["logUnknownVersion()"] 84dd1d49_0500_3b6c_a98b_9bbe4994771e -->|calls| 2318dec9_16fd_0df0_0412_2c11eec763d6 style 84dd1d49_0500_3b6c_a98b_9bbe4994771e fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
codec-socks/src/main/java/io/netty/handler/codec/socksx/SocksPortUnificationServerHandler.java lines 60–90
@Override
protected void decode(ChannelHandlerContext ctx, ByteBuf in, List<Object> out) throws Exception {
final int readerIndex = in.readerIndex();
if (in.writerIndex() == readerIndex) {
return;
}
ChannelPipeline p = ctx.pipeline();
final byte versionVal = in.getByte(readerIndex);
SocksVersion version = SocksVersion.valueOf(versionVal);
switch (version) {
case SOCKS4a:
logKnownVersion(ctx, version);
p.addAfter(ctx.name(), null, Socks4ServerEncoder.INSTANCE);
p.addAfter(ctx.name(), null, new Socks4ServerDecoder());
break;
case SOCKS5:
logKnownVersion(ctx, version);
p.addAfter(ctx.name(), null, socks5encoder);
p.addAfter(ctx.name(), null, new Socks5InitialRequestDecoder());
break;
default:
logUnknownVersion(ctx, versionVal);
in.skipBytes(in.readableBytes());
ctx.close();
return;
}
p.remove(this);
}
Domain
Subdomains
Defined In
Source
Frequently Asked Questions
What does decode() do?
decode() is a function in the netty codebase, defined in codec-socks/src/main/java/io/netty/handler/codec/socksx/SocksPortUnificationServerHandler.java.
Where is decode() defined?
decode() is defined in codec-socks/src/main/java/io/netty/handler/codec/socksx/SocksPortUnificationServerHandler.java at line 60.
What does decode() call?
decode() calls 2 function(s): logKnownVersion, logUnknownVersion.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free