public boolean forEachKey( TObjectProcedure<? super K> procedure ) { synchronized( mutex ) { return m.forEachKey( procedure ); } } public boolean forEachValue( TLongProcedure procedure ) {
public boolean forEachKey( TObjectProcedure<? super K> procedure ) { return m.forEachKey( procedure ); } public boolean forEachValue( TLongProcedure procedure ) {
@Override public boolean forEachKey( TObjectProcedure<? super K> procedure ) { return m.forEachKey( procedure ); } @Override
public boolean forEachKey( TObjectProcedure<? super K> procedure ) { synchronized( mutex ) { return m.forEachKey( procedure ); } } public boolean forEachValue( TLongProcedure procedure ) {
public boolean forEachKey( TObjectProcedure<? super K> procedure ) { return m.forEachKey( procedure ); } public boolean forEachValue( TLongProcedure procedure ) {
@Override public boolean forEachKey( TObjectProcedure<? super K> procedure ) { synchronized( mutex ) { return m.forEachKey( procedure ); } } @Override
public boolean forEachKey( TObjectProcedure<K> procedure ) { return m.forEachKey( procedure ); } public boolean forEachValue( TLongProcedure procedure ) {
public boolean forEachKey( TObjectProcedure<? super K> procedure ) { return m.forEachKey( procedure ); } public boolean forEachValue( TLongProcedure procedure ) {
public boolean forEachKey( TObjectProcedure<? super K> procedure ) { synchronized( mutex ) { return m.forEachKey( procedure ); } } public boolean forEachValue( TLongProcedure procedure ) {
public boolean forEachKey( TObjectProcedure<K> procedure ) { synchronized( mutex ) { return m.forEachKey( procedure ); } } public boolean forEachValue( TLongProcedure procedure ) {
public ChainingTSCPair(@NonNull CollectHistory history, @NonNull ExpressionLookBack lookback) { this.history = history; Stream<TimeSeriesCollection> filtered; try { filtered = lookback.filter(new ForwardIterator<>(history.streamReversed().iterator())); } catch (UnsupportedOperationException ex) { LOG.log(Level.WARNING, "history reverse streaming not supported, fallback to duration hint"); final DateTime end = history.getEnd(); final DateTime begin = end.minus(lookback.hintDuration()); filtered = history.stream(begin, end); } final TscStreamReductor reduction = filtered .collect(TscStreamReductor::new, TscStreamReductor::add, TscStreamReductor::addAll); this.timestamps = new TimestampChain(reduction.timestamps); this.activeGroups = reduction.groups; LOG.log(Level.INFO, "recovered {0} scrapes from history", timestamps.size()); // Fill data with empty, faultable group data. activeGroups.forEachKey(group -> { data.put(group, new TsvChain()); return true; }); validatePrevious(); // Should never trigger. }