Home / Function/ streamWindowUpdateShouldSendFrame() — netty Function Reference

streamWindowUpdateShouldSendFrame() — netty Function Reference

Architecture documentation for the streamWindowUpdateShouldSendFrame() function in DefaultHttp2RemoteFlowControllerTest.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  eb6f6578_87ec_6ea1_bee9_3ea7fce7fda3["streamWindowUpdateShouldSendFrame()"]
  f8fd7697_92d4_6455_4dd8_09a33ac81a6f["DefaultHttp2RemoteFlowControllerTest"]
  eb6f6578_87ec_6ea1_bee9_3ea7fce7fda3 -->|defined in| f8fd7697_92d4_6455_4dd8_09a33ac81a6f
  755c1b74_beca_bbf4_03dd_dc973ba061bd["exhaustStreamWindow()"]
  eb6f6578_87ec_6ea1_bee9_3ea7fce7fda3 -->|calls| 755c1b74_beca_bbf4_03dd_dc973ba061bd
  136071dd_c92e_5482_7cb2_c1ba0769c1ab["FakeFlowControlled()"]
  eb6f6578_87ec_6ea1_bee9_3ea7fce7fda3 -->|calls| 136071dd_c92e_5482_7cb2_c1ba0769c1ab
  85ffafbd_47aa_f4f5_fd02_71f26d692e10["sendData()"]
  eb6f6578_87ec_6ea1_bee9_3ea7fce7fda3 -->|calls| 85ffafbd_47aa_f4f5_fd02_71f26d692e10
  4d627b61_f0ea_0927_043f_7bfb246d71d1["assertNotWritten()"]
  eb6f6578_87ec_6ea1_bee9_3ea7fce7fda3 -->|calls| 4d627b61_f0ea_0927_043f_7bfb246d71d1
  947caffb_54ef_9984_108e_69119ef018d1["incrementWindowSize()"]
  eb6f6578_87ec_6ea1_bee9_3ea7fce7fda3 -->|calls| 947caffb_54ef_9984_108e_69119ef018d1
  da0712d5_2b96_e340_6c7a_17114adb9efc["assertFullyWritten()"]
  eb6f6578_87ec_6ea1_bee9_3ea7fce7fda3 -->|calls| da0712d5_2b96_e340_6c7a_17114adb9efc
  72f6527f_6737_5bc4_f643_b308fe4de273["window()"]
  eb6f6578_87ec_6ea1_bee9_3ea7fce7fda3 -->|calls| 72f6527f_6737_5bc4_f643_b308fe4de273
  style eb6f6578_87ec_6ea1_bee9_3ea7fce7fda3 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

codec-http2/src/test/java/io/netty/handler/codec/http2/DefaultHttp2RemoteFlowControllerTest.java lines 601–648

    @Test
    public void streamWindowUpdateShouldSendFrame() throws Http2Exception {
        // Set the stream window size to zero.
        exhaustStreamWindow(STREAM_A);
        verify(listener, times(1)).writabilityChanged(stream(STREAM_A));
        verify(listener, never()).writabilityChanged(stream(STREAM_B));
        verify(listener, never()).writabilityChanged(stream(STREAM_C));
        verify(listener, never()).writabilityChanged(stream(STREAM_D));
        assertFalse(controller.isWritable(stream(STREAM_A)));
        assertTrue(controller.isWritable(stream(STREAM_B)));
        assertTrue(controller.isWritable(stream(STREAM_C)));
        assertTrue(controller.isWritable(stream(STREAM_D)));
        reset(listener);

        FakeFlowControlled data = new FakeFlowControlled(10);
        sendData(STREAM_A, data);
        controller.writePendingBytes();
        data.assertNotWritten();

        // Verify that the entire frame was sent.
        incrementWindowSize(STREAM_A, 10);
        verify(listener, never()).writabilityChanged(stream(STREAM_A));
        verify(listener, never()).writabilityChanged(stream(STREAM_B));
        verify(listener, never()).writabilityChanged(stream(STREAM_C));
        verify(listener, never()).writabilityChanged(stream(STREAM_D));
        assertFalse(controller.isWritable(stream(STREAM_A)));
        assertTrue(controller.isWritable(stream(STREAM_B)));
        assertTrue(controller.isWritable(stream(STREAM_C)));
        assertTrue(controller.isWritable(stream(STREAM_D)));
        reset(listener);

        data.assertNotWritten();
        controller.writePendingBytes();
        data.assertFullyWritten();
        verify(listener, never()).writabilityChanged(stream(STREAM_A));
        verify(listener, never()).writabilityChanged(stream(STREAM_B));
        verify(listener, never()).writabilityChanged(stream(STREAM_C));
        verify(listener, never()).writabilityChanged(stream(STREAM_D));
        assertFalse(controller.isWritable(stream(STREAM_A)));
        assertTrue(controller.isWritable(stream(STREAM_B)));
        assertTrue(controller.isWritable(stream(STREAM_C)));
        assertTrue(controller.isWritable(stream(STREAM_D)));
        assertEquals(DEFAULT_WINDOW_SIZE - 10, window(CONNECTION_STREAM_ID));
        assertEquals(0, window(STREAM_A));
        assertEquals(DEFAULT_WINDOW_SIZE, window(STREAM_B));
        assertEquals(DEFAULT_WINDOW_SIZE, window(STREAM_C));
        assertEquals(DEFAULT_WINDOW_SIZE, window(STREAM_D));
    }

Domain

Subdomains

Frequently Asked Questions

What does streamWindowUpdateShouldSendFrame() do?
streamWindowUpdateShouldSendFrame() is a function in the netty codebase, defined in codec-http2/src/test/java/io/netty/handler/codec/http2/DefaultHttp2RemoteFlowControllerTest.java.
Where is streamWindowUpdateShouldSendFrame() defined?
streamWindowUpdateShouldSendFrame() is defined in codec-http2/src/test/java/io/netty/handler/codec/http2/DefaultHttp2RemoteFlowControllerTest.java at line 601.
What does streamWindowUpdateShouldSendFrame() call?
streamWindowUpdateShouldSendFrame() calls 7 function(s): FakeFlowControlled, assertFullyWritten, assertNotWritten, exhaustStreamWindow, incrementWindowSize, sendData, window.

Analyze Your Own Codebase

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

Try Supermodel Free