public interface Sequential<T>
| Modifier and Type | Method and Description |
|---|---|
default ReactiveSeq<T> |
fixedDelay(long l,
java.util.concurrent.TimeUnit unit)
emit elements after a fixed delay
|
default ReactiveSeq<T> |
onePer(long time,
java.util.concurrent.TimeUnit t)
emit one element per time period
|
ReactiveSeq<T> |
stream() |
default ReactiveSeq<T> |
xPer(int x,
long time,
java.util.concurrent.TimeUnit t)
emit x elements per time period
|
ReactiveSeq<T> stream()
default ReactiveSeq<T> xPer(int x, long time, java.util.concurrent.TimeUnit t)
{
@code
SimpleTimer timer = new SimpleTimer();
assertThat(ReactiveSeq.of(1, 2, 3, 4, 5, 6).xPer(6, 100000000, TimeUnit.NANOSECONDS).collect(Collectors.toList()).size(), is(6));
}
x - number of elements to emittime - periodt - Time unitdefault ReactiveSeq<T> onePer(long time, java.util.concurrent.TimeUnit t)
ReactiveSeq.iterate("", last -> "next")
.limit(100)
.batchBySize(10)
.onePer(1, TimeUnit.MICROSECONDS)
.peek(batch -> System.out.println("batched : " + batch))
.flatMap(Collection::stream)
.peek(individual -> System.out.println("Flattened : "
+ individual))
.forEach(a->{});
time - periodt - Time unitdefault ReactiveSeq<T> fixedDelay(long l, java.util.concurrent.TimeUnit unit)
{
@code
SimpleTimer timer = new SimpleTimer();
assertThat(ReactiveSeq.of(1, 2, 3, 4, 5, 6).fixedDelay(10000, TimeUnit.NANOSECONDS).collect(Collectors.toList()).size(), is(6));
assertThat(timer.getElapsedNanoseconds(), greaterThan(60000l));
}
l - time length in nanos of the delayunit - for the delay