ConcurrentDispatchQueueScheduler
public class ConcurrentDispatchQueueScheduler : SchedulerType
Abstracts the work that needs to be performed on a specific dispatch_queue_t
. You can also pass a serial dispatch queue, it shouldn’t cause any problems.
This scheduler is suitable when some work needs to be performed in background.
-
Undocumented
Declaration
Swift
public typealias TimeInterval = Foundation.TimeInterval
-
Undocumented
Declaration
Swift
public typealias Time = Date
-
Declaration
Swift
public var now: Date { get }
-
Constructs new
ConcurrentDispatchQueueScheduler
that wrapsqueue
.Declaration
Swift
public init(queue: DispatchQueue, leeway: DispatchTimeInterval = DispatchTimeInterval.nanoseconds(0))
Parameters
queue
Target dispatch queue.
leeway
The amount of time, in nanoseconds, that the system will defer the timer.
-
Convenience init for scheduler that wraps one of the global concurrent dispatch queues.
Declaration
Swift
@available(iOS 8, OSX 10.10, *) public convenience init(qos: DispatchQoS, leeway: DispatchTimeInterval = DispatchTimeInterval.nanoseconds(0))
Parameters
qos
Target global dispatch queue, by quality of service class.
leeway
The amount of time, in nanoseconds, that the system will defer the timer.
-
Schedules an action to be executed immediately.
Declaration
Swift
public final func schedule<StateType>(_ state: StateType, action: @escaping (StateType) -> Disposable) -> Disposable
Parameters
state
State passed to the action to be executed.
action
Action to be executed.
Return Value
The disposable object used to cancel the scheduled action (best effort).
-
Schedules an action to be executed.
Declaration
Swift
public final func scheduleRelative<StateType>(_ state: StateType, dueTime: Foundation.TimeInterval, action: @escaping (StateType) -> Disposable) -> Disposable
Parameters
state
State passed to the action to be executed.
dueTime
Relative time after which to execute the action.
action
Action to be executed.
Return Value
The disposable object used to cancel the scheduled action (best effort).
-
Schedules a periodic piece of work.
Declaration
Swift
public func schedulePeriodic<StateType>(_ state: StateType, startAfter: TimeInterval, period: TimeInterval, action: @escaping (StateType) -> StateType) -> Disposable
Parameters
state
State passed to the action to be executed.
startAfter
Period after which initial work should be run.
period
Period for running the work periodically.
action
Action to be executed.
Return Value
The disposable object used to cancel the scheduled action (best effort).