diff options
Diffstat (limited to 'sources/hv-collector-utils/src')
-rw-r--r-- | sources/hv-collector-utils/src/main/kotlin/org/onap/dcae/collectors/veshv/utils/rx/rx.kt | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sources/hv-collector-utils/src/main/kotlin/org/onap/dcae/collectors/veshv/utils/rx/rx.kt b/sources/hv-collector-utils/src/main/kotlin/org/onap/dcae/collectors/veshv/utils/rx/rx.kt index ceccbcba..e1886055 100644 --- a/sources/hv-collector-utils/src/main/kotlin/org/onap/dcae/collectors/veshv/utils/rx/rx.kt +++ b/sources/hv-collector-utils/src/main/kotlin/org/onap/dcae/collectors/veshv/utils/rx/rx.kt @@ -26,8 +26,14 @@ package org.onap.dcae.collectors.veshv.utils.rx import org.reactivestreams.Publisher +import reactor.core.publisher.Flux import reactor.core.publisher.Mono import reactor.core.publisher.toMono +import java.time.Duration fun <T> Publisher<T>.then(callback: () -> Unit): Mono<Unit> = toMono().then(Mono.fromCallable(callback)) + +fun <T> delayElements(intervalSupplier: () -> Duration): (Flux<T>) -> Flux<T> = { flux -> + flux.concatMap { Mono.just(it).delayElement(intervalSupplier()) } +} |