io.quarkus.redis.runtime.datasource.ScanBlockingCursorImpl Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of quarkus-redis-client Show documentation
Show all versions of quarkus-redis-client Show documentation
Connect to Redis in either imperative or reactive style
package io.quarkus.redis.runtime.datasource;
import java.time.Duration;
import java.util.Set;
import io.quarkus.redis.datasource.keys.KeyScanCursor;
import io.quarkus.redis.datasource.keys.ReactiveKeyScanCursor;
public class ScanBlockingCursorImpl implements KeyScanCursor {
private final ReactiveKeyScanCursor reactive;
private final Duration timeout;
public ScanBlockingCursorImpl(ReactiveKeyScanCursor reactive, Duration timeout) {
this.timeout = timeout;
this.reactive = reactive;
}
@Override
public boolean hasNext() {
return reactive.hasNext();
}
@Override
public Set next() {
return reactive.next().await().atMost(timeout);
}
@Override
public long cursorId() {
return reactive.cursorId();
}
@Override
public Iterable toIterable() {
return reactive.toMulti().subscribe().asIterable();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy