src/main/java/org/michailov/async/io/RingBuffer.java
public int advanceReadPosition(int delta) {
        int availableDelta = getAvailableDeltaToAdvance(delta, getAvailableToRead());
        _virtualReadPosition += availableDelta;
        return availableDelta;
    }
/**
     * This method must be called to indicate a successful read operation.
     * If multiple items are read one by one, it is not necessary to advance the read position
     * after each item. That could be done once for all read items.
     * <p> 
     * An attempt to advance the read position beyond the value returned by {@link #getAvailableToRead}
     * limits the attempt to the value of {@link #getAvailableToRead}.
     * That is not an exceptional case.
     * 
     * @param   delta   The count of virtual notches by which to increment the virtual read position. 
     * @return          The minimum of the requested <i>delta</i> and the value of {@link #getAvailableToRead}. 
     */
This method must be called to indicate a successful read operation.
If multiple items are read one by one, it is not necessary to advance the read position
after each item. That could be done once for all read items.

An attempt to advance the read position beyond the value returned by  #getAvailableToRead
limits the attempt to the value of  #getAvailableToRead.
That is not an exceptional case.

@param   delta   The count of virtual notches by which to increment the virtual read position.
@return          The minimum of the requested delta and the value of  #getAvailableToRead.
This method must be called to indicate a successful read operation . If multiple items are read one by one it is not necessary to advance the read position after each item . That could be done once for all read items . An attempt to advance the read position beyond the value returned by #getAvailableToRead limits the attempt to the value of #getAvailableToRead . That is not an exceptional case . @param delta The count of virtual notches by which to increment the virtual read position . @return The minimum of the requested delta and the value of #getAvailableToRead .
public int advanceReadPosition(int delta) {
        int availableDelta = getAvailableDeltaToAdvance(delta, getAvailableToRead());
        _virtualReadPosition += availableDelta;
        return availableDelta;
    }
public int advanceReadPosition ( int delta ) { int availableDelta = getAvailableDeltaToAdvance ( delta , getAvailableToRead ( ) ) ; _virtualReadPosition += availableDelta ; return availableDelta ; }
This method must be called to indicate a successful read operation.
This method must be called to indicate a successful read operation .