ChannelOutboundBufferTest Class — netty Architecture
Architecture documentation for the ChannelOutboundBufferTest class in ChannelOutboundBufferTest.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 06eb8f18_da0c_40bf_fb14_47e2c94a6923["ChannelOutboundBufferTest"] 9a9e5fb9_cd30_59fd_fdbc_d1237e29a437["ChannelOutboundBufferTest.java"] 06eb8f18_da0c_40bf_fb14_47e2c94a6923 -->|defined in| 9a9e5fb9_cd30_59fd_fdbc_d1237e29a437 ad1ebc82_4822_8c4e_6770_92b5880bc784["testEmptyNioBuffers()"] 06eb8f18_da0c_40bf_fb14_47e2c94a6923 -->|method| ad1ebc82_4822_8c4e_6770_92b5880bc784 9ec9e4c1_de8e_8c05_3ca4_80d9dab213f3["testNioBuffersCancelledRemoveBytes()"] 06eb8f18_da0c_40bf_fb14_47e2c94a6923 -->|method| 9ec9e4c1_de8e_8c05_3ca4_80d9dab213f3 5699471c_ab8c_b3ec_0370_4785c4d0b703["testNioBuffersSingleBacked()"] 06eb8f18_da0c_40bf_fb14_47e2c94a6923 -->|method| 5699471c_ab8c_b3ec_0370_4785c4d0b703 5e4cd308_0493_7e2c_3914_7cde3fa79eb3["testNioBuffersExpand()"] 06eb8f18_da0c_40bf_fb14_47e2c94a6923 -->|method| 5e4cd308_0493_7e2c_3914_7cde3fa79eb3 41beef69_9522_098f_455b_e61cce53289e["testNioBuffersExpand2()"] 06eb8f18_da0c_40bf_fb14_47e2c94a6923 -->|method| 41beef69_9522_098f_455b_e61cce53289e f9fc34b9_ba65_4613_883d_79c3f58f1920["testNioBuffersMaxCount()"] 06eb8f18_da0c_40bf_fb14_47e2c94a6923 -->|method| f9fc34b9_ba65_4613_883d_79c3f58f1920 4bdec6f8_3c15_b5ee_d1a3_716048f52c5a["release()"] 06eb8f18_da0c_40bf_fb14_47e2c94a6923 -->|method| 4bdec6f8_3c15_b5ee_d1a3_716048f52c5a 41148ba8_7483_855f_9bf5_d2264355ddc1["testWritability()"] 06eb8f18_da0c_40bf_fb14_47e2c94a6923 -->|method| 41148ba8_7483_855f_9bf5_d2264355ddc1 734d61ff_70b3_1069_3892_4d534531ae0a["testUserDefinedWritability()"] 06eb8f18_da0c_40bf_fb14_47e2c94a6923 -->|method| 734d61ff_70b3_1069_3892_4d534531ae0a 2e4cc85a_2e25_69c7_5857_a5a0ac6675a2["testUserDefinedWritability2()"] 06eb8f18_da0c_40bf_fb14_47e2c94a6923 -->|method| 2e4cc85a_2e25_69c7_5857_a5a0ac6675a2 40218d07_10f7_38ca_e9ed_60cc3c840d52["testMixedWritability()"] 06eb8f18_da0c_40bf_fb14_47e2c94a6923 -->|method| 40218d07_10f7_38ca_e9ed_60cc3c840d52 e8421144_91d1_9ad4_6af2_9edbae1ce8ae["testWriteTaskRejected()"] 06eb8f18_da0c_40bf_fb14_47e2c94a6923 -->|method| e8421144_91d1_9ad4_6af2_9edbae1ce8ae 00d35efd_91f9_9891_6cdb_8a43498309e6["safeClose()"] 06eb8f18_da0c_40bf_fb14_47e2c94a6923 -->|method| 00d35efd_91f9_9891_6cdb_8a43498309e6
Relationship Graph
Source Code
transport/src/test/java/io/netty/channel/ChannelOutboundBufferTest.java lines 42–538
public class ChannelOutboundBufferTest {
@Test
public void testEmptyNioBuffers() {
TestChannel channel = new TestChannel();
ChannelOutboundBuffer buffer = new ChannelOutboundBuffer(channel);
assertEquals(0, buffer.nioBufferCount());
ByteBuffer[] buffers = buffer.nioBuffers();
assertNotNull(buffers);
for (ByteBuffer b: buffers) {
assertNull(b);
}
assertEquals(0, buffer.nioBufferCount());
release(buffer);
}
@Test
public void testNioBuffersCancelledRemoveBytes() {
TestChannel channel = new TestChannel();
ChannelOutboundBuffer buffer = new ChannelOutboundBuffer(channel);
ByteBuf b1 = wrappedBuffer(new byte[] { 0 });
int r1 = b1.readableBytes();
ChannelPromise p1 = channel.newPromise();
buffer.addMessage(b1, r1, p1);
ByteBuf b2 = wrappedBuffer(new byte[] { 0, 1 });
int r2 = b2.readableBytes();
ChannelPromise p2 = channel.newPromise();
buffer.addMessage(b2, r2, p2);
p2.cancel(false);
ByteBuf b3 = wrappedBuffer(new byte[] { 0 });
int r3 = b3.readableBytes();
ChannelPromise p3 = channel.newPromise();
buffer.addMessage(b3, r3, p3);
buffer.addFlush();
ByteBuffer[] buffers = buffer.nioBuffers();
assertEquals(2, buffer.nioBufferCount());
assertNotNull(buffers);
assertEquals(r1, buffers[0].remaining());
assertEquals(r3, buffers[1].remaining());
buffer.removeBytes(r1 + r3);
assertEquals(0, b1.refCnt());
assertEquals(0, b2.refCnt());
assertEquals(0, b3.refCnt());
assertTrue(buffer.isEmpty());
release(buffer);
}
@Test
public void testNioBuffersSingleBacked() {
TestChannel channel = new TestChannel();
ChannelOutboundBuffer buffer = new ChannelOutboundBuffer(channel);
assertEquals(0, buffer.nioBufferCount());
ByteBuf buf = copiedBuffer("buf1", CharsetUtil.US_ASCII);
ByteBuffer nioBuf = buf.internalNioBuffer(buf.readerIndex(), buf.readableBytes());
buffer.addMessage(buf, buf.readableBytes(), channel.voidPromise());
assertEquals(0, buffer.nioBufferCount(), "Should still be 0 as not flushed yet");
buffer.addFlush();
ByteBuffer[] buffers = buffer.nioBuffers();
assertNotNull(buffers);
assertEquals(1, buffer.nioBufferCount(), "Should still be 0 as not flushed yet");
for (int i = 0; i < buffer.nioBufferCount(); i++) {
if (i == 0) {
assertEquals(buffers[i], nioBuf);
} else {
assertNull(buffers[i]);
}
}
release(buffer);
}
@Test
public void testNioBuffersExpand() {
TestChannel channel = new TestChannel();
Source
Frequently Asked Questions
What is the ChannelOutboundBufferTest class?
ChannelOutboundBufferTest is a class in the netty codebase, defined in transport/src/test/java/io/netty/channel/ChannelOutboundBufferTest.java.
Where is ChannelOutboundBufferTest defined?
ChannelOutboundBufferTest is defined in transport/src/test/java/io/netty/channel/ChannelOutboundBufferTest.java at line 42.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free