Home / Function/ BlockingMessageQueue() — netty Function Reference

BlockingMessageQueue() — netty Function Reference

Architecture documentation for the BlockingMessageQueue() function in Recycler.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  5eb06f14_17b7_4c00_13fc_67944070f068["BlockingMessageQueue()"]
  97ffd903_aa9f_4bb1_fb52_3d8d31957095["BlockingMessageQueue"]
  5eb06f14_17b7_4c00_13fc_67944070f068 -->|defined in| 97ffd903_aa9f_4bb1_fb52_3d8d31957095
  488a82ea_db5d_5e9e_da1b_a8fbb2279f0a["size()"]
  5eb06f14_17b7_4c00_13fc_67944070f068 -->|calls| 488a82ea_db5d_5e9e_da1b_a8fbb2279f0a
  style 5eb06f14_17b7_4c00_13fc_67944070f068 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

common/src/main/java/io/netty/util/Recycler.java lines 627–639

        BlockingMessageQueue(int maxCapacity) {
            this.maxCapacity = maxCapacity;
            // This message passing queue is backed by an ArrayDeque instance,
            // made thread-safe by synchronising on `this` BlockingMessageQueue instance.
            // Why ArrayDeque?
            // We use ArrayDeque instead of LinkedList or LinkedBlockingQueue because it's more space efficient.
            // We use ArrayDeque instead of ArrayList because we need the queue APIs.
            // We use ArrayDeque instead of ConcurrentLinkedQueue because CLQ is unbounded and has O(n) size().
            // We use ArrayDeque instead of ArrayBlockingQueue because ABQ allocates its max capacity up-front,
            // and these queues will usually have large capacities, in potentially great numbers (one per thread),
            // but often only have comparatively few items in them.
            deque = new ArrayDeque<T>();
        }

Domain

Subdomains

Calls

Frequently Asked Questions

What does BlockingMessageQueue() do?
BlockingMessageQueue() is a function in the netty codebase, defined in common/src/main/java/io/netty/util/Recycler.java.
Where is BlockingMessageQueue() defined?
BlockingMessageQueue() is defined in common/src/main/java/io/netty/util/Recycler.java at line 627.
What does BlockingMessageQueue() call?
BlockingMessageQueue() calls 1 function(s): size.

Analyze Your Own Codebase

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

Try Supermodel Free