base/common/src/main/com/thesett/common/util/queues/WrapperQueue.java
private void decrementSizeAndCount(E record)
    {
        // Update the count for atomically counted queues.
        if (atomicallyCounted)
        {
            count.decrementAndGet();
        }

        // Update the size for sizeable elements and sizeable queues.
        if (sizeable && (record instanceof Sizeable))
        {
            long recordSize = -((Sizeable) record).sizeof();
            long oldSize = dataSize.getAndAdd(recordSize);
            long newSize = oldSize + recordSize;

            signalOnSizeThresholdCrossing(oldSize, newSize);
        }
        else if (sizeable)
        {
            long oldSize = dataSize.getAndDecrement();
            long newSize = oldSize - 1;

            signalOnSizeThresholdCrossing(oldSize, newSize);
        }
    }
private void decrementSizeAndCount(E record)
    {
        // Update the count for atomically counted queues.
        if (atomicallyCounted)
        {
            count.decrementAndGet();
        }

        // Update the size for sizeable elements and sizeable queues.
        if (sizeable && (record instanceof Sizeable))
        {
            long recordSize = -((Sizeable) record).sizeof();
            long oldSize = dataSize.getAndAdd(recordSize);
            long newSize = oldSize + recordSize;

            signalOnSizeThresholdCrossing(oldSize, newSize);
        }
        else if (sizeable)
        {
            long oldSize = dataSize.getAndDecrement();
            long newSize = oldSize - 1;

            signalOnSizeThresholdCrossing(oldSize, newSize);
        }
    }
private void decrementSizeAndCount ( E record ) { // Update the count for atomically counted queues. if ( atomicallyCounted ) { count . decrementAndGet ( ) ; } // Update the size for sizeable elements and sizeable queues. if ( sizeable && ( record instanceof Sizeable ) ) { long recordSize = - ( ( Sizeable ) record ) . sizeof ( ) ; long oldSize = dataSize . getAndAdd ( recordSize ) ; long newSize = oldSize + recordSize ; signalOnSizeThresholdCrossing ( oldSize , newSize ) ; } else if ( sizeable ) { long oldSize = dataSize . getAndDecrement ( ) ; long newSize = oldSize - 1 ; signalOnSizeThresholdCrossing ( oldSize , newSize ) ; } }
Atomically subtracts from the size and count, if the queue is running in atomic counting mode, or sizeable mode
and the element is sizeable.

@param record The record to update the size and count for.
Atomically subtracts from the size and count if the queue is running in atomic counting mode or sizeable mode and the element is sizeable .