Package rx.internal.schedulers
Class ScheduledAction
- All Implemented Interfaces:
Serializable,Runnable,Subscription
public final class ScheduledAction
extends AtomicReference<Thread>
implements Runnable, Subscription
A
Runnable that executes an Action0 and can be cancelled. The analog is the
Subscriber in respect of an Observer.- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) final classCancels the captured future if the caller of the call method is not the same as the runner of the outer ScheduledAction to prevent unnecessary self-interrupting if the unsubscription happens from the same thread.(package private) static final classRemove a child subscription from a composite when unsubscribing.(package private) static final classRemove a child subscription from a composite when unsubscribing. -
Field Summary
FieldsModifier and TypeFieldDescription(package private) final Action0(package private) final SubscriptionListprivate static final long -
Constructor Summary
ConstructorsConstructorDescriptionScheduledAction(Action0 action) ScheduledAction(Action0 action, SubscriptionList parent) ScheduledAction(Action0 action, CompositeSubscription parent) -
Method Summary
Modifier and TypeMethodDescriptionvoidAdds the given Future to the unsubscription composite in order to support cancelling the underlying task in the executor framework.voidadd(Subscription s) Adds a general Subscription to thisScheduledActionthat will be unsubscribed if the underlyingactioncompletes or the this scheduled action is cancelled.voidaddParent(SubscriptionList parent) Adds a parentCompositeSubscriptionto thisScheduledActionso when the action is cancelled or terminates, it can remove itself from this parent.voidaddParent(CompositeSubscription parent) Adds a parentCompositeSubscriptionto thisScheduledActionso when the action is cancelled or terminates, it can remove itself from this parent.booleanIndicates whether thisSubscriptionis currently unsubscribed.voidrun()(package private) voidsignalError(Throwable ie) voidStops the receipt of notifications on theSubscriberthat was registered when this Subscription was received.Methods inherited from class java.util.concurrent.atomic.AtomicReference
accumulateAndGet, compareAndExchange, compareAndExchangeAcquire, compareAndExchangeRelease, compareAndSet, get, getAcquire, getAndAccumulate, getAndSet, getAndUpdate, getOpaque, getPlain, lazySet, set, setOpaque, setPlain, setRelease, toString, updateAndGet, weakCompareAndSet, weakCompareAndSetAcquire, weakCompareAndSetPlain, weakCompareAndSetRelease, weakCompareAndSetVolatile
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
cancel
-
action
-
-
Constructor Details
-
ScheduledAction
-
ScheduledAction
-
ScheduledAction
-
-
Method Details
-
run
public void run() -
signalError
-
isUnsubscribed
public boolean isUnsubscribed()Description copied from interface:SubscriptionIndicates whether thisSubscriptionis currently unsubscribed.- Specified by:
isUnsubscribedin interfaceSubscription- Returns:
trueif thisSubscriptionis currently unsubscribed,falseotherwise
-
unsubscribe
public void unsubscribe()Description copied from interface:SubscriptionStops the receipt of notifications on theSubscriberthat was registered when this Subscription was received.This allows unregistering an
Subscriberbefore it has finished receiving all events (i.e. before onCompleted is called).- Specified by:
unsubscribein interfaceSubscription
-
add
Adds a general Subscription to thisScheduledActionthat will be unsubscribed if the underlyingactioncompletes or the this scheduled action is cancelled.- Parameters:
s- the Subscription to add
-
add
Adds the given Future to the unsubscription composite in order to support cancelling the underlying task in the executor framework.- Parameters:
f- the future to add
-
addParent
Adds a parentCompositeSubscriptionto thisScheduledActionso when the action is cancelled or terminates, it can remove itself from this parent.- Parameters:
parent- the parentCompositeSubscriptionto add
-
addParent
Adds a parentCompositeSubscriptionto thisScheduledActionso when the action is cancelled or terminates, it can remove itself from this parent.- Parameters:
parent- the parentCompositeSubscriptionto add
-