Home / Function/ channelClosedWhenWriteFutureFails() — netty Function Reference

channelClosedWhenWriteFutureFails() — netty Function Reference

Architecture documentation for the channelClosedWhenWriteFutureFails() function in Http2MultiplexTest.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  bab7980b_5b7d_d7d3_06c1_eaec77b45443["channelClosedWhenWriteFutureFails()"]
  4745ff96_ed57_3bd8_9861_4b786d0b6e09["Http2MultiplexTest"]
  bab7980b_5b7d_d7d3_06c1_eaec77b45443 -->|defined in| 4745ff96_ed57_3bd8_9861_4b786d0b6e09
  style bab7980b_5b7d_d7d3_06c1_eaec77b45443 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

codec-http2/src/test/java/io/netty/handler/codec/http2/Http2MultiplexTest.java lines 1024–1063

    @Test
    public void channelClosedWhenWriteFutureFails() {
        final Queue<ChannelPromise> writePromises = new ArrayDeque<ChannelPromise>();

        LastInboundHandler inboundHandler = new LastInboundHandler();
        Http2StreamChannel childChannel = newInboundStream(3, false, inboundHandler);

        assertTrue(childChannel.isOpen());
        assertTrue(childChannel.isActive());

        final AtomicBoolean channelOpen = new AtomicBoolean(true);
        final AtomicBoolean channelActive = new AtomicBoolean(true);

        Http2Headers headers = new DefaultHttp2Headers();
        when(frameWriter.writeHeaders(eqCodecCtx(), anyInt(),
                eq(headers), anyInt(), anyBoolean(),
                any(ChannelPromise.class))).thenAnswer(new Answer<ChannelFuture>() {
            @Override
            public ChannelFuture answer(InvocationOnMock invocationOnMock) {
                ChannelPromise promise = invocationOnMock.getArgument(5);
                writePromises.offer(promise);
                return promise;
            }
        });

        ChannelFuture f = childChannel.writeAndFlush(new DefaultHttp2HeadersFrame(headers));
        assertFalse(f.isDone());
        f.addListener((ChannelFutureListener) future -> {
            channelOpen.set(future.channel().isOpen());
            channelActive.set(future.channel().isActive());
        });

        ChannelPromise first = writePromises.poll();
        first.setFailure(new ClosedChannelException());
        f.awaitUninterruptibly();

        assertFalse(channelOpen.get());
        assertFalse(channelActive.get());
        assertFalse(childChannel.isActive());
    }

Domain

Subdomains

Frequently Asked Questions

What does channelClosedWhenWriteFutureFails() do?
channelClosedWhenWriteFutureFails() is a function in the netty codebase, defined in codec-http2/src/test/java/io/netty/handler/codec/http2/Http2MultiplexTest.java.
Where is channelClosedWhenWriteFutureFails() defined?
channelClosedWhenWriteFutureFails() is defined in codec-http2/src/test/java/io/netty/handler/codec/http2/Http2MultiplexTest.java at line 1024.

Analyze Your Own Codebase

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

Try Supermodel Free