Home / Function/ releaseAndCompleteAll() — netty Function Reference

releaseAndCompleteAll() — netty Function Reference

Architecture documentation for the releaseAndCompleteAll() function in AbstractCoalescingBufferQueue.java from the netty codebase.

Function java Buffer Allocators calls 2 called by 1

Entity Profile

Dependency Diagram

graph TD
  502e490f_81f1_40f2_84f8_f3b570511736["releaseAndCompleteAll()"]
  ed411aca_4554_3a54_c59f_b4c69a0bca4f["AbstractCoalescingBufferQueue"]
  502e490f_81f1_40f2_84f8_f3b570511736 -->|defined in| ed411aca_4554_3a54_c59f_b4c69a0bca4f
  a624d8ea_7f84_33d8_6acc_616570a23790["releaseAndFailAll()"]
  a624d8ea_7f84_33d8_6acc_616570a23790 -->|calls| 502e490f_81f1_40f2_84f8_f3b570511736
  fa46d01c_05f6_24a4_75e1_80bf5d5a22dc["decrementReadableBytes()"]
  502e490f_81f1_40f2_84f8_f3b570511736 -->|calls| fa46d01c_05f6_24a4_75e1_80bf5d5a22dc
  40b2d7ee_ab69_691f_b3f0_be44cf83b193["readableBytes()"]
  502e490f_81f1_40f2_84f8_f3b570511736 -->|calls| 40b2d7ee_ab69_691f_b3f0_be44cf83b193
  style 502e490f_81f1_40f2_84f8_f3b570511736 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

transport/src/main/java/io/netty/channel/AbstractCoalescingBufferQueue.java lines 382–408

    private void releaseAndCompleteAll(ChannelFuture future) {
        Throwable pending = null;
        for (;;) {
            Object entry = bufAndListenerPairs.poll();
            if (entry == null) {
                break;
            }
            try {
                if (entry instanceof ByteBuf) {
                    ByteBuf buffer = (ByteBuf) entry;
                    decrementReadableBytes(buffer.readableBytes());
                    safeRelease(buffer);
                } else {
                    ((ChannelFutureListener) entry).operationComplete(future);
                }
            } catch (Throwable t) {
                if (pending == null) {
                    pending = t;
                } else {
                    logger.info("Throwable being suppressed because Throwable {} is already pending", pending, t);
                }
            }
        }
        if (pending != null) {
            throw new IllegalStateException(pending);
        }
    }

Domain

Subdomains

Frequently Asked Questions

What does releaseAndCompleteAll() do?
releaseAndCompleteAll() is a function in the netty codebase, defined in transport/src/main/java/io/netty/channel/AbstractCoalescingBufferQueue.java.
Where is releaseAndCompleteAll() defined?
releaseAndCompleteAll() is defined in transport/src/main/java/io/netty/channel/AbstractCoalescingBufferQueue.java at line 382.
What does releaseAndCompleteAll() call?
releaseAndCompleteAll() calls 2 function(s): decrementReadableBytes, readableBytes.
What calls releaseAndCompleteAll()?
releaseAndCompleteAll() is called by 1 function(s): releaseAndFailAll.

Analyze Your Own Codebase

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

Try Supermodel Free