@Override public KeyValueIterator<Windowed<Bytes>, byte[]> fetchAll(final long timeFrom, final long timeTo) { return bytesStore.fetchAll(timeFrom, timeTo); }
@Override public KeyValueIterator<Windowed<K>, V> fetchAll(final long timeFrom, final long timeTo) { return new MeteredWindowedKeyValueIterator<>(inner.fetchAll(timeFrom, timeTo), fetchTime, metrics, serdes, time); }
@Override default KeyValueIterator<Windowed<K>, V> fetchAll(final Instant from, final Instant to) { ApiUtils.validateMillisecondInstant(from, "from"); ApiUtils.validateMillisecondInstant(to, "to"); return fetchAll(from.toEpochMilli(), to.toEpochMilli()); } }
@Override public KeyValueIterator<Windowed<Bytes>, byte[]> fetchAll(final long timeFrom, final long timeTo) { validateStoreOpen(); final KeyValueIterator<Windowed<Bytes>, byte[]> underlyingIterator = underlying.fetchAll(timeFrom, timeTo); final ThreadCache.MemoryLRUCacheBytesIterator cacheIterator = cache.all(name); final HasNextCondition hasNextCondition = keySchema.hasNextCondition(null, null, timeFrom, timeTo); final PeekingKeyValueIterator<Bytes, LRUCacheEntry> filteredCacheIterator = new FilteredCacheIterator(cacheIterator, hasNextCondition, cacheFunction); return new MergedSortedCacheWindowStoreKeyValueIterator( filteredCacheIterator, underlyingIterator, bytesSerdes, windowSize, cacheFunction ); } }