public void addRemoveTimeNanos ( long duration ) { for ( ; ; ) { long nanos = removeTimeTakenNanos ; if ( nanos <= Long . MAX_VALUE - duration ) { if ( REMOVE_TIME_TAKEN_NANOS . compareAndSet ( this , nanos , nanos + duration ) ) { return ; } } else { //counter full. Just reset. if ( REMOVE_TIME_TAKEN_NANOS . compareAndSet ( this , nanos , duration ) ) { clear ( ) ; return ; } } } }
Increments the remove time accumulator .