Home / Class/ BrotliEncoderTest Class — netty Architecture

BrotliEncoderTest Class — netty Architecture

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

Entity Profile

Dependency Diagram

graph TD
  52c3c85b_828c_d773_e804_634750e3e5e7["BrotliEncoderTest"]
  b1714ceb_6eb0_c57d_5191_3473c7685ff8["BrotliEncoderTest.java"]
  52c3c85b_828c_d773_e804_634750e3e5e7 -->|defined in| b1714ceb_6eb0_c57d_5191_3473c7685ff8
  73cf1e15_070d_5263_7338_217320fe0499["setUp()"]
  52c3c85b_828c_d773_e804_634750e3e5e7 -->|method| 73cf1e15_070d_5263_7338_217320fe0499
  6da2d4e9_7802_ce53_e9e9_ee808f517fe8["EmbeddedChannel()"]
  52c3c85b_828c_d773_e804_634750e3e5e7 -->|method| 6da2d4e9_7802_ce53_e9e9_ee808f517fe8
  50329b12_62a4_20ba_45cc_e1188ccecb9d["destroyChannel()"]
  52c3c85b_828c_d773_e804_634750e3e5e7 -->|method| 50329b12_62a4_20ba_45cc_e1188ccecb9d
  16bf774c_eae4_7c1c_fac3_141fa50b4769["ByteBuf()"]
  52c3c85b_828c_d773_e804_634750e3e5e7 -->|method| 16bf774c_eae4_7c1c_fac3_141fa50b4769

Relationship Graph

Source Code

codec-compression/src/test/java/io/netty/handler/codec/compression/BrotliEncoderTest.java lines 24–83

public class BrotliEncoderTest extends AbstractEncoderTest {

    private EmbeddedChannel ENCODER_CHANNEL;
    private EmbeddedChannel DECODER_CHANNEL;

    @BeforeAll
    static void setUp() {
        try {
            Brotli.ensureAvailability();
        } catch (Throwable throwable) {
            throw new ExceptionInInitializerError(throwable);
        }
    }

    @Override
    public EmbeddedChannel createChannel() {
        // Setup Encoder and Decoder
        ENCODER_CHANNEL = new EmbeddedChannel(new BrotliEncoder());
        DECODER_CHANNEL = new EmbeddedChannel(new BrotliDecoder());

        // Return the main channel (Encoder)
        return ENCODER_CHANNEL;
    }

    @Override
    public void destroyChannel() {
        ENCODER_CHANNEL.finishAndReleaseAll();
        DECODER_CHANNEL.finishAndReleaseAll();
    }

    @Override
    protected ByteBuf decompress(ByteBuf compressed, int originalLength) {
        DECODER_CHANNEL.writeInbound(compressed);

        ByteBuf aggregatedBuffer = Unpooled.buffer();
        ByteBuf decompressed = DECODER_CHANNEL.readInbound();
        while (decompressed != null) {
            aggregatedBuffer.writeBytes(decompressed);

            decompressed.release();
            decompressed = DECODER_CHANNEL.readInbound();
        }

        return aggregatedBuffer;
    }

    @Override
    protected ByteBuf readDecompressed(final int dataLength) throws Exception {
        CompositeByteBuf decompressed = Unpooled.compositeBuffer();
        ByteBuf msg;
        while ((msg = channel.readOutbound()) != null) {
            if (msg.isReadable()) {
                decompressed.addComponent(true, decompress(msg, -1));
            } else {
                msg.release();
            }
        }
        return decompressed;
    }
}

Frequently Asked Questions

What is the BrotliEncoderTest class?
BrotliEncoderTest is a class in the netty codebase, defined in codec-compression/src/test/java/io/netty/handler/codec/compression/BrotliEncoderTest.java.
Where is BrotliEncoderTest defined?
BrotliEncoderTest is defined in codec-compression/src/test/java/io/netty/handler/codec/compression/BrotliEncoderTest.java at line 24.

Analyze Your Own Codebase

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

Try Supermodel Free