Package rx.internal.schedulers
Class ExecutorScheduler.ExecutorSchedulerWorker
java.lang.Object
rx.Scheduler.Worker
rx.internal.schedulers.ExecutorScheduler.ExecutorSchedulerWorker
- All Implemented Interfaces:
Runnable
,Subscription
- Enclosing class:
ExecutorScheduler
static final class ExecutorScheduler.ExecutorSchedulerWorker
extends Scheduler.Worker
implements Runnable
Worker that schedules tasks on the executor indirectly through a trampoline mechanism.
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) final Executor
(package private) final ConcurrentLinkedQueue
<ScheduledAction> (package private) final ScheduledExecutorService
(package private) final CompositeSubscription
(package private) final AtomicInteger
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionboolean
Indicates whether thisSubscription
is currently unsubscribed.void
run()
Schedules an Action for execution.Schedules an Action for execution at some point in the future.void
Stops the receipt of notifications on theSubscriber
that was registered when this Subscription was received.Methods inherited from class rx.Scheduler.Worker
now, schedulePeriodically
-
Field Details
-
executor
-
tasks
-
queue
-
wip
-
service
-
-
Constructor Details
-
ExecutorSchedulerWorker
-
-
Method Details
-
schedule
Description copied from class:Scheduler.Worker
Schedules an Action for execution.- Specified by:
schedule
in classScheduler.Worker
- Parameters:
action
- Action to schedule- Returns:
- a subscription to be able to unsubscribe the action (unschedule it if not executed)
-
run
public void run() -
schedule
Description copied from class:Scheduler.Worker
Schedules an Action for execution at some point in the future.Note to implementors: non-positive
delayTime
should be regarded as undelayed schedule, i.e., as if theScheduler.Worker.schedule(rx.functions.Action0)
was called.- Specified by:
schedule
in classScheduler.Worker
- Parameters:
action
- the Action to scheduledelayTime
- time to wait before executing the action; non-positive values indicate an undelayed scheduleunit
- the time unit ofdelayTime
- Returns:
- a subscription to be able to unsubscribe the action (unschedule it if not executed)
-
isUnsubscribed
public boolean isUnsubscribed()Description copied from interface:Subscription
Indicates whether thisSubscription
is currently unsubscribed.- Specified by:
isUnsubscribed
in interfaceSubscription
- Returns:
true
if thisSubscription
is currently unsubscribed,false
otherwise
-
unsubscribe
public void unsubscribe()Description copied from interface:Subscription
Stops the receipt of notifications on theSubscriber
that was registered when this Subscription was received.This allows unregistering an
Subscriber
before it has finished receiving all events (i.e. before onCompleted is called).- Specified by:
unsubscribe
in interfaceSubscription
-