Home / Function/ decode() — netty Function Reference

decode() — netty Function Reference

Architecture documentation for the decode() function in RedisArrayAggregator.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  043bb9bf_1443_0c42_e71e_b66949666a5e["decode()"]
  012bd3a5_4e03_f9eb_6cc8_66f49859fdf6["RedisArrayAggregator"]
  043bb9bf_1443_0c42_e71e_b66949666a5e -->|defined in| 012bd3a5_4e03_f9eb_6cc8_66f49859fdf6
  style 043bb9bf_1443_0c42_e71e_b66949666a5e fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

codec-redis/src/main/java/io/netty/handler/codec/redis/RedisArrayAggregator.java lines 42–68

    @Override
    protected void decode(ChannelHandlerContext ctx, RedisMessage msg, List<Object> out) throws Exception {
        if (msg instanceof ArrayHeaderRedisMessage) {
            msg = decodeRedisArrayHeader((ArrayHeaderRedisMessage) msg);
            if (msg == null) {
                return;
            }
        } else {
            ReferenceCountUtil.retain(msg);
        }

        while (!depths.isEmpty()) {
            AggregateState current = depths.peek();
            current.children.add(msg);

            // if current aggregation completed, go to parent aggregation.
            if (current.children.size() == current.length) {
                msg = new ArrayRedisMessage(current.children);
                depths.pop();
            } else {
                // not aggregated yet. try next time.
                return;
            }
        }

        out.add(msg);
    }

Domain

Subdomains

Frequently Asked Questions

What does decode() do?
decode() is a function in the netty codebase, defined in codec-redis/src/main/java/io/netty/handler/codec/redis/RedisArrayAggregator.java.
Where is decode() defined?
decode() is defined in codec-redis/src/main/java/io/netty/handler/codec/redis/RedisArrayAggregator.java at line 42.

Analyze Your Own Codebase

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

Try Supermodel Free