Home / Function/ writeWithoutCheckChannelState() — netty Function Reference

writeWithoutCheckChannelState() — netty Function Reference

Architecture documentation for the writeWithoutCheckChannelState() function in QuicheQuicStreamChannel.java from the netty codebase.

Function java Buffer Allocators calls 3 called by 3

Entity Profile

Dependency Diagram

graph TD
  c225604c_2de8_fe76_73d8_f8ebd8b0d632["writeWithoutCheckChannelState()"]
  77188bb7_e7ad_de01_3b54_5bc50b9e2df1["QuicStreamChannelUnsafe"]
  c225604c_2de8_fe76_73d8_f8ebd8b0d632 -->|defined in| 77188bb7_e7ad_de01_3b54_5bc50b9e2df1
  1bfd22cf_ed33_9f74_5cb7_ed0890bb6f50["shutdownOutput0()"]
  1bfd22cf_ed33_9f74_5cb7_ed0890bb6f50 -->|calls| c225604c_2de8_fe76_73d8_f8ebd8b0d632
  b8f0fcf4_c9ba_7fd0_650b_cbfb08e968b3["shutdown0()"]
  b8f0fcf4_c9ba_7fd0_650b_cbfb08e968b3 -->|calls| c225604c_2de8_fe76_73d8_f8ebd8b0d632
  3fb93988_b8ac_d344_5a9e_cea0a0997755["write()"]
  3fb93988_b8ac_d344_5a9e_cea0a0997755 -->|calls| c225604c_2de8_fe76_73d8_f8ebd8b0d632
  86200146_0c82_b96d_e3db_5b4ffacfa597["write0()"]
  c225604c_2de8_fe76_73d8_f8ebd8b0d632 -->|calls| 86200146_0c82_b96d_e3db_5b4ffacfa597
  0fb16511_4393_9f1f_b70d_71245985b6aa["updateWritabilityIfNeeded()"]
  c225604c_2de8_fe76_73d8_f8ebd8b0d632 -->|calls| 0fb16511_4393_9f1f_b70d_71245985b6aa
  02ba6530_dd1d_7e69_71f0_2ab5b91e6586["closeIfNeeded()"]
  c225604c_2de8_fe76_73d8_f8ebd8b0d632 -->|calls| 02ba6530_dd1d_7e69_71f0_2ab5b91e6586
  style c225604c_2de8_fe76_73d8_f8ebd8b0d632 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

codec-classes-quic/src/main/java/io/netty/handler/codec/quic/QuicheQuicStreamChannel.java lines 792–829

        void writeWithoutCheckChannelState(Object msg, ChannelPromise promise) {
            try {
                msg = filterMsg(msg);
            } catch (UnsupportedOperationException e) {
                ReferenceCountUtil.release(msg);
                promise.setFailure(e);
                return;
            }

            boolean wasFinSent = QuicheQuicStreamChannel.this.finSent;
            boolean mayNeedWritabilityUpdate = false;
            try {
                int res = write0(msg);
                if (res > 0) {
                    ReferenceCountUtil.release(msg);
                    promise.setSuccess();
                    mayNeedWritabilityUpdate = capacity == 0;
                } else if (res == 0 || res == Quiche.QUICHE_ERR_DONE) {
                    // Touch the message to make things easier in terms of debugging buffer leaks.
                    ReferenceCountUtil.touch(msg);
                    queue.add(msg, promise);
                    mayNeedWritabilityUpdate = true;
                } else if (res == Quiche.QUICHE_ERR_STREAM_STOPPED) {
                    throw new ChannelOutputShutdownException("STOP_SENDING frame received");
                } else {
                    throw Quiche.convertToException(res);
                }
            } catch (Exception e) {
                ReferenceCountUtil.release(msg);
                promise.setFailure(e);
                mayNeedWritabilityUpdate = capacity == 0;
            } finally {
                if (mayNeedWritabilityUpdate) {
                    updateWritabilityIfNeeded(false);
                }
                closeIfNeeded(wasFinSent);
            }
        }

Domain

Subdomains

Frequently Asked Questions

What does writeWithoutCheckChannelState() do?
writeWithoutCheckChannelState() is a function in the netty codebase, defined in codec-classes-quic/src/main/java/io/netty/handler/codec/quic/QuicheQuicStreamChannel.java.
Where is writeWithoutCheckChannelState() defined?
writeWithoutCheckChannelState() is defined in codec-classes-quic/src/main/java/io/netty/handler/codec/quic/QuicheQuicStreamChannel.java at line 792.
What does writeWithoutCheckChannelState() call?
writeWithoutCheckChannelState() calls 3 function(s): closeIfNeeded, updateWritabilityIfNeeded, write0.
What calls writeWithoutCheckChannelState()?
writeWithoutCheckChannelState() is called by 3 function(s): shutdown0, shutdownOutput0, write.

Analyze Your Own Codebase

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

Try Supermodel Free