Returns true
if the run-loop implied by the given
Scheduler is always doing asynchronous execution or not.
Returns true
if the run-loop implied by the given
Scheduler is always doing asynchronous execution or not.
Note that when isAlwaysAsync
is true
, that means that
RunLoop.start, RunLoop.step.
is the Scheduler that drives our run-loop.
Executes the given callback, effectively starting a run-loop.
Executes the given callback, effectively starting a run-loop.
Depending on Scheduler.batchedExecutionModulus,
execution will happen either synchronously (current thread and call-stack) or
scheduled for asynchronous execution (by Scheduler.execute).
To find out what will happen before calling start
, you can
use the RunLoop.isAlwaysAsync helper.
is an expression receiving the next FrameId
at the time
of execution, to be used in the next runLoop
invocation.
is the Scheduler that drives our run-loop.
Executes the given callback, forcing an asynchronous boundary and starting a run-loop.
Executes the given callback, forcing an asynchronous boundary and starting a run-loop.
Compared with RunLoop.start this macro always executes the given runnable asynchronously.
is an expression receiving the next FrameId
at the time
of execution, to be used in the next runLoop
invocation.
is the Scheduler that drives our run-loop.
Executes the given callback immediately, irregardless of the Scheduler configuration.
Executes the given callback immediately, irregardless of the Scheduler configuration.
Compared with RunLoop.start this macro always executes the given runnable immediately.
is an expression to execute, receiving the next
FrameId
at the time of execution, to be used in the
next runLoop
invocation.
is the Scheduler that drives our run-loop.
Given the current frameId
, executes the given callback.
Given the current frameId
, executes the given callback.
Depending on Scheduler.batchedExecutionModulus, execution will happen either synchronously (current thread and call-stack) or scheduled for asynchronous execution (by Scheduler.execute).
is a number identifying the current stack frame. Should start from zero.
is an expression receiving the next FrameId
at the time
of execution, to be used in the next runLoop
invocation.
is the Scheduler that drives our run-loop.
Given the current frameId
, executes the given callback.
Given the current frameId
, executes the given callback. Takes
a BooleanCancelable
as a parameter that can be used to cancel the loop.
Depending on Scheduler.batchedExecutionModulus, execution will happen either synchronously (current thread and call-stack) or scheduled for asynchronous execution (by Scheduler.execute).
is a cancelable that can be used to check if the
run-loop is canceled and thus avoid to trigger the next step.
Note that checking active.isCanceled
is weak and only happens
on asynchronous boundaries for performance reasons (in other words
don't count on cancellation to be immediate).
is a number identifying the current stack frame. Should start from zero.
is a callback receiving the next FrameId
at the time
of execution, to be used in the next runLoop
invocation.