Home / Function/ channelWritabilityChanged() — netty Function Reference

channelWritabilityChanged() — netty Function Reference

Architecture documentation for the channelWritabilityChanged() function in QuicheQuicCodec.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  d2b1a1ba_2ffc_f2f1_81a3_acbf8de24e99["channelWritabilityChanged()"]
  2593916d_2b0e_6fcc_eac7_86416a14767c["QuicheQuicCodec"]
  d2b1a1ba_2ffc_f2f1_81a3_acbf8de24e99 -->|defined in| 2593916d_2b0e_6fcc_eac7_86416a14767c
  cd2cb80d_560e_bd85_bf59_69ce2ff31fa6["processDelayedRemoval()"]
  d2b1a1ba_2ffc_f2f1_81a3_acbf8de24e99 -->|calls| cd2cb80d_560e_bd85_bf59_69ce2ff31fa6
  4a61065d_dda9_7ad1_d9e8_52c6da1944ca["flush()"]
  d2b1a1ba_2ffc_f2f1_81a3_acbf8de24e99 -->|calls| 4a61065d_dda9_7ad1_d9e8_52c6da1944ca
  style d2b1a1ba_2ffc_f2f1_81a3_acbf8de24e99 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

codec-classes-quic/src/main/java/io/netty/handler/codec/quic/QuicheQuicCodec.java lines 253–276

    @Override
    public final void channelWritabilityChanged(ChannelHandlerContext ctx) {
        if (ctx.channel().isWritable()) {
            // Ensure we delay removal from the channels Set as otherwise we will might see an exception
            // due modifications while iteration.
            delayRemoval = true;
            try {
                for (QuicheQuicChannel channel : channels) {
                    // TODO: Be a bit smarter about this.
                    channel.writable();
                }
            } finally {
                // We are done with the loop, reset the flag and process the removals from the channels Set.
                delayRemoval = false;
                processDelayedRemoval();
            }
        } else {
            // As we batch flushes we need to ensure we at least try to flush a batch once the channel becomes
            // unwritable. Otherwise we may end up with buffering too much writes and so waste memory.
            ctx.flush();
        }

        ctx.fireChannelWritabilityChanged();
    }

Domain

Subdomains

Frequently Asked Questions

What does channelWritabilityChanged() do?
channelWritabilityChanged() is a function in the netty codebase, defined in codec-classes-quic/src/main/java/io/netty/handler/codec/quic/QuicheQuicCodec.java.
Where is channelWritabilityChanged() defined?
channelWritabilityChanged() is defined in codec-classes-quic/src/main/java/io/netty/handler/codec/quic/QuicheQuicCodec.java at line 253.
What does channelWritabilityChanged() call?
channelWritabilityChanged() calls 2 function(s): flush, processDelayedRemoval.

Analyze Your Own Codebase

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

Try Supermodel Free