Home / Function/ flush() — netty Function Reference

flush() — netty Function Reference

Architecture documentation for the flush() function in AbstractHttp2StreamChannel.java from the netty codebase.

Function java Buffer Allocators calls 3 called by 6

Entity Profile

Dependency Diagram

graph TD
  17bb5ba9_6675_72af_80ec_e5f5d89f1f8c["flush()"]
  2656dcfe_5cdb_7c7d_bc25_312393fe2e05["Http2ChannelUnsafe"]
  17bb5ba9_6675_72af_80ec_e5f5d89f1f8c -->|defined in| 2656dcfe_5cdb_7c7d_bc25_312393fe2e05
  62092c57_2b76_f9d6_7477_f45361d6edeb["Channel()"]
  62092c57_2b76_f9d6_7477_f45361d6edeb -->|calls| 17bb5ba9_6675_72af_80ec_e5f5d89f1f8c
  c5f2249b_75fa_04ed_b617_86931903504c["flush0()"]
  c5f2249b_75fa_04ed_b617_86931903504c -->|calls| 17bb5ba9_6675_72af_80ec_e5f5d89f1f8c
  215b8316_feb5_500b_88f8_49eff0eac336["close()"]
  215b8316_feb5_500b_88f8_49eff0eac336 -->|calls| 17bb5ba9_6675_72af_80ec_e5f5d89f1f8c
  8c7ec287_e512_c36c_39d6_33286068a273["doBeginRead()"]
  8c7ec287_e512_c36c_39d6_33286068a273 -->|calls| 17bb5ba9_6675_72af_80ec_e5f5d89f1f8c
  4719f032_82eb_05bb_5db2_1ba1daf73d78["updateLocalWindowIfNeededAndFlush()"]
  4719f032_82eb_05bb_5db2_1ba1daf73d78 -->|calls| 17bb5ba9_6675_72af_80ec_e5f5d89f1f8c
  4373f9ff_b341_55e0_625c_45e60ac17922["notifyReadComplete()"]
  4373f9ff_b341_55e0_625c_45e60ac17922 -->|calls| 17bb5ba9_6675_72af_80ec_e5f5d89f1f8c
  5ca6305e_9bed_80cc_f434_630ca5d3db99["write()"]
  17bb5ba9_6675_72af_80ec_e5f5d89f1f8c -->|calls| 5ca6305e_9bed_80cc_f434_630ca5d3db99
  a362ae20_c4ae_22d2_1fdc_4d606b3e40cd["isParentReadInProgress()"]
  17bb5ba9_6675_72af_80ec_e5f5d89f1f8c -->|calls| a362ae20_c4ae_22d2_1fdc_4d606b3e40cd
  c5f2249b_75fa_04ed_b617_86931903504c["flush0()"]
  17bb5ba9_6675_72af_80ec_e5f5d89f1f8c -->|calls| c5f2249b_75fa_04ed_b617_86931903504c
  style 17bb5ba9_6675_72af_80ec_e5f5d89f1f8c fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

codec-http2/src/main/java/io/netty/handler/codec/http2/AbstractHttp2StreamChannel.java lines 1165–1179

        @Override
        public void flush() {
            // If we are currently in the parent channel's read loop we should just ignore the flush.
            // We will ensure we trigger ctx.flush() after we processed all Channels later on and
            // so aggregate the flushes. This is done as ctx.flush() is expensive when as it may trigger an
            // write(...) or writev(...) operation on the socket.
            if (!writeDoneAndNoFlush || isParentReadInProgress()) {
                // There is nothing to flush so this is a NOOP.
                return;
            }
            // We need to set this to false before we call flush0(...) as ChannelFutureListener may produce more data
            // that are explicit flushed.
            writeDoneAndNoFlush = false;
            flush0(parentContext());
        }

Domain

Subdomains

Frequently Asked Questions

What does flush() do?
flush() is a function in the netty codebase, defined in codec-http2/src/main/java/io/netty/handler/codec/http2/AbstractHttp2StreamChannel.java.
Where is flush() defined?
flush() is defined in codec-http2/src/main/java/io/netty/handler/codec/http2/AbstractHttp2StreamChannel.java at line 1165.
What does flush() call?
flush() calls 3 function(s): flush0, isParentReadInProgress, write.
What calls flush()?
flush() is called by 6 function(s): Channel, close, doBeginRead, flush0, notifyReadComplete, updateLocalWindowIfNeededAndFlush.

Analyze Your Own Codebase

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

Try Supermodel Free