SerialDispatchQueueScheduler
public class SerialDispatchQueueScheduler : SchedulerType
                Abstracts the work that needs to be performed on a specific dispatch_queue_t. It will make sure 
that even if concurrent dispatch queue is passed, it’s transformed into a serial one.
It is extremely important that this scheduler is serial, because certain operator perform optimizations that rely on that property.
Because there is no way of detecting is passed dispatch queue serial or concurrent, for every queue that is being passed, worst case (concurrent) will be assumed, and internal serial proxy dispatch queue will be created.
This scheduler can also be used with internal serial queue alone.
In case some customization need to be made on it before usage,
internal serial queue can be customized using serialQueueConfiguration
callback.
- 
                  
                  
Undocumented
Declaration
Swift
public typealias TimeInterval = Foundation.TimeInterval - 
                  
                  
Undocumented
Declaration
Swift
public typealias Time = Date - 
                  
                  
Declaration
Swift
public var now: Date { get }Return Value
Current time.
 - 
                  
                  
Constructs new
SerialDispatchQueueSchedulerwith internal serial queue namedinternalSerialQueueName.Additional dispatch queue properties can be set after dispatch queue is created using
serialQueueConfiguration.Declaration
Swift
public convenience init(internalSerialQueueName: String, serialQueueConfiguration: ((DispatchQueue) -> Void)? = nil, leeway: DispatchTimeInterval = DispatchTimeInterval.nanoseconds(0))Parameters
internalSerialQueueNameName of internal serial dispatch queue.
serialQueueConfigurationAdditional configuration of internal serial dispatch queue.
leewayThe amount of time, in nanoseconds, that the system will defer the timer.
 - 
                  
                  
Constructs new
SerialDispatchQueueSchedulernamedinternalSerialQueueNamethat wrapsqueue.Declaration
Swift
public convenience init(queue: DispatchQueue, internalSerialQueueName: String, leeway: DispatchTimeInterval = DispatchTimeInterval.nanoseconds(0))Parameters
queuePossibly concurrent dispatch queue used to perform work.
internalSerialQueueNameName of internal serial dispatch queue proxy.
leewayThe amount of time, in nanoseconds, that the system will defer the timer.
 - 
                  
                  
Constructs new
SerialDispatchQueueSchedulerthat wraps on of the global concurrent dispatch queues.Declaration
Swift
@available(iOS 8, OSX 10.10, *) public convenience init(qos: DispatchQoS, internalSerialQueueName: String = "rx.global_dispatch_queue.serial", leeway: DispatchTimeInterval = DispatchTimeInterval.nanoseconds(0))Parameters
qosIdentifier for global dispatch queue with specified quality of service class.
internalSerialQueueNameCustom name for internal serial dispatch queue proxy.
leewayThe 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) -> DisposableParameters
stateState passed to the action to be executed.
actionAction 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) -> DisposableParameters
stateState passed to the action to be executed.
dueTimeRelative time after which to execute the action.
actionAction 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) -> DisposableParameters
stateState passed to the action to be executed.
startAfterPeriod after which initial work should be run.
periodPeriod for running the work periodically.
actionAction to be executed.
Return Value
The disposable object used to cancel the scheduled action (best effort).
 
        SerialDispatchQueueScheduler Class Reference