Home / Function/ checkSkipFailed() — netty Function Reference

checkSkipFailed() — netty Function Reference

Architecture documentation for the checkSkipFailed() function in ChunkedWriteHandlerTest.java from the netty codebase.

Function java Buffer Search called by 4

Entity Profile

Dependency Diagram

graph TD
  e7efd04d_6ab1_15ba_3a0c_156d79ea9e54["checkSkipFailed()"]
  56a5cec9_e7c0_8a2d_a9b0_56df2226f2bb["ChunkedWriteHandlerTest"]
  e7efd04d_6ab1_15ba_3a0c_156d79ea9e54 -->|defined in| 56a5cec9_e7c0_8a2d_a9b0_56df2226f2bb
  f6414a90_33b3_be94_726f_a52be4b4e4d5["testSkipAfterFailedChunkedStream()"]
  f6414a90_33b3_be94_726f_a52be4b4e4d5 -->|calls| e7efd04d_6ab1_15ba_3a0c_156d79ea9e54
  c6f43549_44d4_cc3a_2bea_39760d7526b3["testSkipAfterFailedChunkedNioStream()"]
  c6f43549_44d4_cc3a_2bea_39760d7526b3 -->|calls| e7efd04d_6ab1_15ba_3a0c_156d79ea9e54
  a89f2ea7_039c_96e2_718d_41c2da4f3bf5["testSkipAfterFailedChunkedFile()"]
  a89f2ea7_039c_96e2_718d_41c2da4f3bf5 -->|calls| e7efd04d_6ab1_15ba_3a0c_156d79ea9e54
  54f3b208_1a20_9b69_90fb_cb94f2cf00c4["testSkipAfterFailedChunkedNioFile()"]
  54f3b208_1a20_9b69_90fb_cb94f2cf00c4 -->|calls| e7efd04d_6ab1_15ba_3a0c_156d79ea9e54
  style e7efd04d_6ab1_15ba_3a0c_156d79ea9e54 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

handler/src/test/java/io/netty/handler/stream/ChunkedWriteHandlerTest.java lines 692–736

    private static void checkSkipFailed(Object input1, Object input2) {
        ChannelOutboundHandlerAdapter failFirst = new ChannelOutboundHandlerAdapter() {
            private boolean alreadyFailed;

            @Override
            public void write(ChannelHandlerContext ctx, Object msg, ChannelPromise promise) {
                if (alreadyFailed) {
                    ctx.write(msg, promise);
                } else {
                    this.alreadyFailed = true;
                    ReferenceCountUtil.release(msg);
                    promise.tryFailure(new RuntimeException());
                }
            }
        };

        EmbeddedChannel ch = new EmbeddedChannel(failFirst, new ChunkedWriteHandler());
        ChannelFuture r1 = ch.write(input1);
        ChannelFuture r2 = ch.writeAndFlush(input2).awaitUninterruptibly();
        assertTrue(ch.finish());

        assertTrue(r1.cause() instanceof RuntimeException);
        assertTrue(r2.isSuccess());

        // note, that after we've "skipped" the first write,
        // we expect to see the second message, chunk by chunk
        int i = 0;
        int read = 0;
        for (;;) {
            ByteBuf buffer = ch.readOutbound();
            if (buffer == null) {
                break;
            }
            while (buffer.isReadable()) {
                assertEquals(BYTES[i++], buffer.readByte());
                read++;
                if (i == BYTES.length) {
                    i = 0;
                }
            }
            buffer.release();
        }

        assertEquals(BYTES.length, read);
    }

Domain

Subdomains

Frequently Asked Questions

What does checkSkipFailed() do?
checkSkipFailed() is a function in the netty codebase, defined in handler/src/test/java/io/netty/handler/stream/ChunkedWriteHandlerTest.java.
Where is checkSkipFailed() defined?
checkSkipFailed() is defined in handler/src/test/java/io/netty/handler/stream/ChunkedWriteHandlerTest.java at line 692.
What calls checkSkipFailed()?
checkSkipFailed() is called by 4 function(s): testSkipAfterFailedChunkedFile, testSkipAfterFailedChunkedNioFile, testSkipAfterFailedChunkedNioStream, testSkipAfterFailedChunkedStream.

Analyze Your Own Codebase

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

Try Supermodel Free