private void siftUp()

in concurrency-loadbalancer-core/src/main/java/com/uber/concurrency/loadbalancer/utils/HashIndexedPriorityQueue.java [161:178]


    private void siftUp(int index, E e) {
        int oIndex = index;
        while (index > 0) {
            int pIndex = (index - 1) >>> 1;
            E parent = entityList.get(pIndex);
            if (comparator.compare(e, parent) >= 0) {
                break;
            }
            entityList.set(index, parent);
            entityToIndex.put(parent, index);
            index = pIndex;
        }

        if (oIndex == index)
            return;
        entityList.set(index, e);
        entityToIndex.put(e, index);
    }