Top Description Inners Fields Constructors Methods
rx.internal.operators

public final Class OnSubscribeRange

extends Object
implements Observable.OnSubscribe<Integer>
Class Inheritance
All Implemented Interfaces
rx.Observable.OnSubscribe, rx.functions.Action1, rx.functions.Action, rx.functions.Function
Imports
java.util.concurrent.atomic.AtomicLong, rx.*, .Observable.OnSubscribe

Emit integers from start to end inclusive.

Nested and Inner Type Summary

Modifier and TypeClass and Description
pack-priv static class

Field Summary

Modifier and TypeField and Description
private final int
private final int

Constructor Summary

AccessConstructor and Description
public
OnSubscribeRange(int start, int end)

Method Summary

Modifier and TypeMethod and Description
public void
call(final Subscriber<? super Integer> childSubscriber)

Implements rx.functions.Action1.call.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

endIndexback to summary
private final int endIndex
startIndexback to summary
private final int startIndex

Constructor Detail

OnSubscribeRangeback to summary
public OnSubscribeRange(int start, int end)

Method Detail

callback to summary
public void call(final Subscriber<? super Integer> childSubscriber)

Implements rx.functions.Action1.call.

Annotations
@Override
rx.internal.operators back to summary

pack-priv final Class OnSubscribeRange.RangeProducer

extends AtomicLong
implements Producer
Class Inheritance
All Implemented Interfaces
rx.Producer

Field Summary

Modifier and TypeField and Description
private final Subscriber<? super Integer>
private long
private final int
private static final long

Constructor Summary

AccessConstructor and Description
pack-priv
RangeProducer(Subscriber<? super Integer> childSubscriber, int startIndex, int endIndex)

Method Summary

Modifier and TypeMethod and Description
pack-priv void
fastPath()

Emits all remaining values without decrementing the requested amount.

public void
request(long
the maximum number of items you want this Producer to produce, or Long.MAX_VALUE if you want the Producer to produce items at its own pace
requestedAmount
)

Implements rx.Producer.request.

Request a certain maximum number of items from this Producer.
pack-priv void
slowPath(long requestedAmount)

Emits as many values as requested or remaining from the range, whichever is smaller.

Inherited from java.util.concurrent.atomic.AtomicLong:
accumulateAndGetaddAndGetcompareAndExchangecompareAndExchangeAcquirecompareAndExchangeReleasecompareAndSetdecrementAndGetdoubleValuefloatValuegetgetAcquiregetAndAccumulategetAndAddgetAndDecrementgetAndIncrementgetAndSetgetAndUpdategetOpaquegetPlainincrementAndGetintValuelazySetlongValuesetsetOpaquesetPlainsetReleasetoStringupdateAndGetweakCompareAndSetweakCompareAndSetAcquireweakCompareAndSetPlainweakCompareAndSetReleaseweakCompareAndSetVolatile

Field Detail

childSubscriberback to summary
private final Subscriber<? super Integer> childSubscriber
currentIndexback to summary
private long currentIndex
endOfRangeback to summary
private final int endOfRange
serialVersionUIDback to summary
private static final long serialVersionUID

Hides java.util.concurrent.atomic.AtomicLong.serialVersionUID.

Constructor Detail

RangeProducerback to summary
pack-priv RangeProducer(Subscriber<? super Integer> childSubscriber, int startIndex, int endIndex)

Method Detail

fastPathback to summary
pack-priv void fastPath()

Emits all remaining values without decrementing the requested amount.

requestback to summary
public void request(long requestedAmount)

Implements rx.Producer.request.

Doc from rx.Producer.request.

Request a certain maximum number of items from this Producer. This is a way of requesting backpressure. To disable backpressure, pass Long.MAX_VALUE to this method.

Requests are additive but if a sequence of requests totals more than Long.MAX_VALUE then Long.MAX_VALUE requests will be actioned and the extras may be ignored. Arriving at Long.MAX_VALUE by addition of requests cannot be assumed to disable backpressure. For example, the code below may result in Long.MAX_VALUE requests being actioned only.

request(100);
request(Long.MAX_VALUE-1);
Parameters
requestedAmount:long

the maximum number of items you want this Producer to produce, or Long.MAX_VALUE if you want the Producer to produce items at its own pace

Annotations
@Override
slowPathback to summary
pack-priv void slowPath(long requestedAmount)

Emits as many values as requested or remaining from the range, whichever is smaller.