Home / Function/ testWritability() — netty Function Reference

testWritability() — netty Function Reference

Architecture documentation for the testWritability() function in ChannelOutboundBufferTest.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  41148ba8_7483_855f_9bf5_d2264355ddc1["testWritability()"]
  06eb8f18_da0c_40bf_fb14_47e2c94a6923["ChannelOutboundBufferTest"]
  41148ba8_7483_855f_9bf5_d2264355ddc1 -->|defined in| 06eb8f18_da0c_40bf_fb14_47e2c94a6923
  00d35efd_91f9_9891_6cdb_8a43498309e6["safeClose()"]
  41148ba8_7483_855f_9bf5_d2264355ddc1 -->|calls| 00d35efd_91f9_9891_6cdb_8a43498309e6
  style 41148ba8_7483_855f_9bf5_d2264355ddc1 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

transport/src/test/java/io/netty/channel/ChannelOutboundBufferTest.java lines 282–315

    @Test
    public void testWritability() {
        final StringBuilder buf = new StringBuilder();
        EmbeddedChannel ch = new EmbeddedChannel(new ChannelInboundHandlerAdapter() {
            @Override
            public void channelWritabilityChanged(ChannelHandlerContext ctx) {
                buf.append(ctx.channel().isWritable());
                buf.append(' ');
            }
        });

        ch.config().setWriteBufferLowWaterMark(128 + ChannelOutboundBuffer.CHANNEL_OUTBOUND_BUFFER_ENTRY_OVERHEAD);
        ch.config().setWriteBufferHighWaterMark(256 + ChannelOutboundBuffer.CHANNEL_OUTBOUND_BUFFER_ENTRY_OVERHEAD);

        ch.write(buffer().writeZero(128));
        // Ensure exceeding the low watermark does not make channel unwritable.
        ch.write(buffer().writeZero(2));
        assertEquals("", buf.toString());

        ch.unsafe().outboundBuffer().addFlush();

        // Ensure exceeding the high watermark makes channel unwritable.
        ch.write(buffer().writeZero(127));
        assertEquals("false ", buf.toString());

        // Ensure going down to the low watermark makes channel writable again by flushing the first write.
        assertTrue(ch.unsafe().outboundBuffer().remove());
        assertTrue(ch.unsafe().outboundBuffer().remove());
        assertEquals(127L + ChannelOutboundBuffer.CHANNEL_OUTBOUND_BUFFER_ENTRY_OVERHEAD,
                ch.unsafe().outboundBuffer().totalPendingWriteBytes());
        assertEquals("false true ", buf.toString());

        safeClose(ch);
    }

Domain

Subdomains

Calls

Frequently Asked Questions

What does testWritability() do?
testWritability() is a function in the netty codebase, defined in transport/src/test/java/io/netty/channel/ChannelOutboundBufferTest.java.
Where is testWritability() defined?
testWritability() is defined in transport/src/test/java/io/netty/channel/ChannelOutboundBufferTest.java at line 282.
What does testWritability() call?
testWritability() calls 1 function(s): safeClose.

Analyze Your Own Codebase

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

Try Supermodel Free