AbstractEncoderTest Class — netty Architecture
Architecture documentation for the AbstractEncoderTest class in AbstractEncoderTest.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD e75c2d44_55ff_20fb_58c6_157d886d9d30["AbstractEncoderTest"] be6fa3e7_953e_010f_dd66_21d6bae19c6d["AbstractEncoderTest.java"] e75c2d44_55ff_20fb_58c6_157d886d9d30 -->|defined in| be6fa3e7_953e_010f_dd66_21d6bae19c6d 88a1bf99_48be_8e54_b13d_0c64c194d07d["ByteBuf()"] e75c2d44_55ff_20fb_58c6_157d886d9d30 -->|method| 88a1bf99_48be_8e54_b13d_0c64c194d07d 39474dda_7829_80f1_e9b7_0c8970c9a441["initChannel()"] e75c2d44_55ff_20fb_58c6_157d886d9d30 -->|method| 39474dda_7829_80f1_e9b7_0c8970c9a441 f782e77a_5a16_abfe_2a01_9e6db283ab40["EmbeddedChannel()"] e75c2d44_55ff_20fb_58c6_157d886d9d30 -->|method| f782e77a_5a16_abfe_2a01_9e6db283ab40 6d6e4deb_028f_9700_600e_3cc7082f9145["destroyChannel()"] e75c2d44_55ff_20fb_58c6_157d886d9d30 -->|method| 6d6e4deb_028f_9700_600e_3cc7082f9145 bdbe4ee1_a3aa_3465_2185_d22145fdb3f0["smallData()"] e75c2d44_55ff_20fb_58c6_157d886d9d30 -->|method| bdbe4ee1_a3aa_3465_2185_d22145fdb3f0 c9750dbe_ce9b_c2a4_bc89_77bcb20acf25["largeData()"] e75c2d44_55ff_20fb_58c6_157d886d9d30 -->|method| c9750dbe_ce9b_c2a4_bc89_77bcb20acf25 4a46f19c_31b4_8a02_2001_ecaf4f5eca02["testCompressionOfSmallChunkOfData()"] e75c2d44_55ff_20fb_58c6_157d886d9d30 -->|method| 4a46f19c_31b4_8a02_2001_ecaf4f5eca02 a6173f2f_d8db_9c30_9616_74a9e1489996["testCompressionOfLargeChunkOfData()"] e75c2d44_55ff_20fb_58c6_157d886d9d30 -->|method| a6173f2f_d8db_9c30_9616_74a9e1489996 4e64f197_018d_207d_28ce_06292148f160["testCompressionOfBatchedFlowOfData()"] e75c2d44_55ff_20fb_58c6_157d886d9d30 -->|method| 4e64f197_018d_207d_28ce_06292148f160 a69091e5_0c69_a627_0aba_def62c636e95["testCompression()"] e75c2d44_55ff_20fb_58c6_157d886d9d30 -->|method| a69091e5_0c69_a627_0aba_def62c636e95 b47ae7a3_bfe9_36dc_13d2_e58e4d0e8480["testCompressionOfBatchedFlow()"] e75c2d44_55ff_20fb_58c6_157d886d9d30 -->|method| b47ae7a3_bfe9_36dc_13d2_e58e4d0e8480
Relationship Graph
Source Code
codec-compression/src/test/java/io/netty/handler/codec/compression/AbstractEncoderTest.java lines 30–129
public abstract class AbstractEncoderTest extends AbstractCompressionTest {
protected EmbeddedChannel channel;
/**
* Decompresses data with some external library.
*/
protected abstract ByteBuf decompress(ByteBuf compressed, int originalLength) throws Exception;
@BeforeEach
public final void initChannel() {
channel = createChannel();
}
protected abstract EmbeddedChannel createChannel();
@AfterEach
public void destroyChannel() {
if (channel != null) {
channel.finishAndReleaseAll();
channel = null;
}
}
public static ByteBuf[] smallData() {
ByteBuf heap = Unpooled.wrappedBuffer(BYTES_SMALL);
ByteBuf direct = Unpooled.directBuffer(BYTES_SMALL.length);
direct.writeBytes(BYTES_SMALL);
return new ByteBuf[] {heap, direct};
}
public static ByteBuf[] largeData() {
ByteBuf heap = Unpooled.wrappedBuffer(BYTES_LARGE);
ByteBuf direct = Unpooled.directBuffer(BYTES_LARGE.length);
direct.writeBytes(BYTES_LARGE);
return new ByteBuf[] {heap, direct};
}
@ParameterizedTest
@MethodSource("smallData")
public void testCompressionOfSmallChunkOfData(ByteBuf data) throws Exception {
testCompression(data);
}
@ParameterizedTest
@MethodSource("largeData")
public void testCompressionOfLargeChunkOfData(ByteBuf data) throws Exception {
testCompression(data);
}
@ParameterizedTest
@MethodSource("largeData")
public void testCompressionOfBatchedFlowOfData(ByteBuf data) throws Exception {
testCompressionOfBatchedFlow(data);
}
protected void testCompression(final ByteBuf data) throws Exception {
final int dataLength = data.readableBytes();
assertTrue(channel.writeOutbound(data.retain()));
assertTrue(channel.finish());
assertEquals(0, data.readableBytes());
ByteBuf decompressed = readDecompressed(dataLength);
assertEquals(data.resetReaderIndex(), decompressed);
decompressed.release();
data.release();
}
protected void testCompressionOfBatchedFlow(final ByteBuf data) throws Exception {
final int dataLength = data.readableBytes();
int written = 0, length = rand.nextInt(100);
while (written + length < dataLength) {
ByteBuf in = data.retainedSlice(written, length);
assertTrue(channel.writeOutbound(in));
assertEquals(0, in.readableBytes());
written += length;
length = rand.nextInt(100);
}
ByteBuf in = data.retainedSlice(written, dataLength - written);
assertTrue(channel.writeOutbound(in));
Defined In
Source
Frequently Asked Questions
What is the AbstractEncoderTest class?
AbstractEncoderTest is a class in the netty codebase, defined in codec-compression/src/test/java/io/netty/handler/codec/compression/AbstractEncoderTest.java.
Where is AbstractEncoderTest defined?
AbstractEncoderTest is defined in codec-compression/src/test/java/io/netty/handler/codec/compression/AbstractEncoderTest.java at line 30.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free