-
- All Implemented Interfaces:
-
com.tds.common.reactor.Producer
,java.io.Serializable
public class FlowArbiter<T> extends AtomicInteger implements Producer
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description public class
FlowArbiter.FlowResult
-
Constructor Summary
Constructors Constructor Description FlowArbiter(FlowCall<T> call, Subscriber<out Object> subscriber)
-
Method Summary
Modifier and Type Method Description void
request(longĀ amount)
Request a certain maximum number of items from this Producer. -
Methods inherited from class java.util.concurrent.atomic.AtomicInteger
accumulateAndGet, addAndGet, compareAndSet, decrementAndGet, doubleValue, floatValue, get, getAndAccumulate, getAndAdd, getAndDecrement, getAndIncrement, getAndSet, getAndUpdate, incrementAndGet, intValue, lazySet, longValue, set, toString, updateAndGet, weakCompareAndSet
-
Methods inherited from class java.lang.Number
byteValue, shortValue
-
Methods inherited from class com.tds.common.reactor.Producer
request
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
Constructor Detail
-
FlowArbiter
FlowArbiter(FlowCall<T> call, Subscriber<out Object> subscriber)
-
-
Method Detail
-
request
void request(longĀ amount)
Request a certain maximum number of items from this Producer. This is a way of requesting backpressure.To disable backpressure, pass
{@code Long.MAX_VALUE}
to this method.Requests are additive but if a sequence of requests totals more than
{@code Long.MAX_VALUE}
then{@code Long.MAX_VALUE}
requests will be actioned and the extras may be ignored. Arriving at{@code Long.MAX_VALUE}
by addition of requests cannot be assumed to disable backpressure. For example,the code below may result in{@code Long.MAX_VALUE}
requests being actioned only.request(100); request(Long.MAX_VALUE-1);
-
-
-
-