Class: Rx::ImmediateScheduler
- Inherits:
-
LocalScheduler
- Object
- LocalScheduler
- Rx::ImmediateScheduler
- Includes:
- Singleton
- Defined in:
- lib/rx/concurrency/immediate_scheduler.rb
Overview
Represents an object that schedules units of work to run immediately on the current thread.
Defined Under Namespace
Classes: AsyncLockScheduler
Instance Method Summary collapse
- #schedule_relative_with_state(state, due_time, action) ⇒ Object
-
#schedule_with_state(state, action) ⇒ Object
Schedules an action to be executed.
Methods inherited from LocalScheduler
#now, #schedule_absolute_with_state
Methods included from Scheduler
normalize, now, #schedule, #schedule_absolute, #schedule_recursive, #schedule_recursive_absolute, #schedule_recursive_absolute_with_state, #schedule_recursive_relative, #schedule_recursive_relative_with_state, #schedule_recursive_with_state, #schedule_relative
Instance Method Details
#schedule_relative_with_state(state, due_time, action) ⇒ Object
21 22 23 24 25 26 27 |
# File 'lib/rx/concurrency/immediate_scheduler.rb', line 21 def schedule_relative_with_state(state, due_time, action) raise ArgumentError.new 'action cannot be nil' unless action dt = Rx::Scheduler.normalize due_time sleep dt if dt > 0 action.call AsyncLockScheduler.new, state end |
#schedule_with_state(state, action) ⇒ Object
Schedules an action to be executed.
16 17 18 19 |
# File 'lib/rx/concurrency/immediate_scheduler.rb', line 16 def schedule_with_state(state, action) raise ArgumentError.new 'action cannot be nil' unless action action.call AsyncLockScheduler.new, state end |