Home / Function/ findPredecessor() — netty Function Reference

findPredecessor() — netty Function Reference

Architecture documentation for the findPredecessor() function in ConcurrentSkipListIntObjMultimap.java from the netty codebase.

Function java CommonUtil Concurrent calls 2 called by 5

Entity Profile

Dependency Diagram

graph TD
  ff16b6d0_47d8_82e1_a033_998f1f35233f["findPredecessor()"]
  d9a8da36_aab9_ab33_dc67_870b34dcd270["ConcurrentSkipListIntObjMultimap"]
  ff16b6d0_47d8_82e1_a033_998f1f35233f -->|defined in| d9a8da36_aab9_ab33_dc67_870b34dcd270
  e6377398_2342_36cb_6b52_ad257316c9a9["findNode()"]
  e6377398_2342_36cb_6b52_ad257316c9a9 -->|calls| ff16b6d0_47d8_82e1_a033_998f1f35233f
  c3cfe397_12eb_0ed0_7cef_c3f236e1c658["V()"]
  c3cfe397_12eb_0ed0_7cef_c3f236e1c658 -->|calls| ff16b6d0_47d8_82e1_a033_998f1f35233f
  e1018349_653b_7710_9bf6_715fdd68c860["doRemoveFirstEntry()"]
  e1018349_653b_7710_9bf6_715fdd68c860 -->|calls| ff16b6d0_47d8_82e1_a033_998f1f35233f
  c91f6f32_c06b_465f_f613_c43e4ac69459["doRemoveLastEntry()"]
  c91f6f32_c06b_465f_f613_c43e4ac69459 -->|calls| ff16b6d0_47d8_82e1_a033_998f1f35233f
  73583e8b_7c0e_6565_1f6c_c76bfaba5388["findNear()"]
  73583e8b_7c0e_6565_1f6c_c76bfaba5388 -->|calls| ff16b6d0_47d8_82e1_a033_998f1f35233f
  acca47c3_12ae_23bb_59d5_d6000a11335e["acquireFence()"]
  ff16b6d0_47d8_82e1_a033_998f1f35233f -->|calls| acca47c3_12ae_23bb_59d5_d6000a11335e
  7e2d9d49_a28d_4cbe_a83c_2187034997b4["cpr()"]
  ff16b6d0_47d8_82e1_a033_998f1f35233f -->|calls| 7e2d9d49_a28d_4cbe_a83c_2187034997b4
  style ff16b6d0_47d8_82e1_a033_998f1f35233f fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

common/src/main/java/io/netty/util/concurrent/ConcurrentSkipListIntObjMultimap.java lines 467–492

    private Node<V> findPredecessor(int key) {
        Index<V> q;
        acquireFence();
        if ((q = head) == null || key == noKey) {
            return null;
        } else {
            for (Index<V> r, d;;) {
                while ((r = q.right) != null) {
                    Node<V> p; int k;
                    if ((p = r.node) == null || (k = p.key) == noKey ||
                        p.val == null) { // unlink index to deleted node
                        RIGHT.compareAndSet(q, r, r.right);
                    } else if (cpr(key, k) > 0) {
                        q = r;
                    } else {
                        break;
                    }
                }
                if ((d = q.down) != null) {
                    q = d;
                } else {
                    return q.node;
                }
            }
        }
    }

Domain

Subdomains

Frequently Asked Questions

What does findPredecessor() do?
findPredecessor() is a function in the netty codebase, defined in common/src/main/java/io/netty/util/concurrent/ConcurrentSkipListIntObjMultimap.java.
Where is findPredecessor() defined?
findPredecessor() is defined in common/src/main/java/io/netty/util/concurrent/ConcurrentSkipListIntObjMultimap.java at line 467.
What does findPredecessor() call?
findPredecessor() calls 2 function(s): acquireFence, cpr.
What calls findPredecessor()?
findPredecessor() is called by 5 function(s): V, doRemoveFirstEntry, doRemoveLastEntry, findNear, findNode.

Analyze Your Own Codebase

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

Try Supermodel Free