get a record from the head of the queue , waiting up to the configured timeout time for a record to become available . concode_field_sep BlockingQueue<T> blockingQueue concode_elem_sep TimeUnit timeoutTimeUnit concode_elem_sep Gauge<Double> fillRatioGauge concode_elem_sep boolean ifCollectStats concode_elem_sep Optional<QueueStats> queueStats concode_elem_sep String PUT_ATTEMPT_COUNT concode_elem_sep long timeout concode_elem_sep int capacity concode_elem_sep Meter getsRateMeter concode_elem_sep Gauge<Integer> queueSizeGauge concode_elem_sep String GET_ATTEMPT_RATE concode_elem_sep String QUEUE_SIZE concode_elem_sep String FILL_RATIO concode_elem_sep TimeUnit timeoutTimeUnit concode_elem_sep int capacity concode_elem_sep long timeout concode_elem_sep String PUT_ATTEMPT_RATE concode_elem_sep Meter putsRateMeter concode_elem_sep String GET_ATTEMPT_COUNT concode_field_sep long getAttemptCount concode_elem_sep int queueSize concode_elem_sep Builder<T> collectStats concode_elem_sep void registerAll concode_elem_sep void clear concode_elem_sep Builder<T> useTimeoutTimeUnit concode_elem_sep Builder<T> newBuilder concode_elem_sep boolean put concode_elem_sep double putAttemptRate concode_elem_sep Optional<QueueStats> stats concode_elem_sep BoundedBlockingRecordQueue<T> build concode_elem_sep double fillRatio concode_elem_sep Builder<T> useTimeout concode_elem_sep double getAttemptRate concode_elem_sep String toString concode_elem_sep Builder<T> hasCapacity concode_elem_sep long putAttemptCount
T function ( ) { T loc0 = this . blockingQueue . poll ( this . timeout , this . timeoutTimeUnit ) ; if ( this . queueStats . isPresent ( ) ) { this . queueStats . get ( ) . getsRateMeter . mark ( ) ; } return loc0 ; }