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