0001    //
0002    //  SchedulerType.swift
0003    //  Rx
0004    //
0005    //  Created by Krunoslav Zaher on 2/8/15.
0006    //  Copyright © 2015 Krunoslav Zaher. All rights reserved.
0007    //
0008    
0009    import Foundation
0010    
0011    /**
0012    Type that represents time interval in the context of RxSwift.
0013    */
0014    public typealias RxTimeInterval
Buffer.swift:13
    private let _timeSpan: RxTimeInterval
Buffer.swift:18
    init(source: Observable<Element>, timeSpan: RxTimeInterval, count: Int, scheduler: SchedulerType) {
DelaySubscription.swift:35
    private let _dueTime: RxTimeInterval
DelaySubscription.swift:38
    init(source: Observable<Element>, dueTime: RxTimeInterval, scheduler: SchedulerType) {
HistoricalSchedulerTimeConverter.swift:25
    public typealias VirtualTimeIntervalUnit = RxTimeInterval
HistoricalSchedulerTimeConverter.swift:47
    public func convertFromVirtualTimeInterval(virtualTimeInterval: VirtualTimeIntervalUnit) -> RxTimeInterval {
HistoricalSchedulerTimeConverter.swift:55
    public func convertToVirtualTimeInterval(timeInterval: RxTimeInterval) -> VirtualTimeIntervalUnit {
Observable+Time.swift:26
    public func throttle(dueTime: RxTimeInterval, scheduler: SchedulerType)
Observable+Time.swift:43
    public func debounce(dueTime: RxTimeInterval, scheduler: SchedulerType)
Observable+Time.swift:83
    public static func interval(period: RxTimeInterval, scheduler: SchedulerType)
Observable+Time.swift:106
    public static func timer(dueTime: RxTimeInterval, period: RxTimeInterval? = nil, scheduler: SchedulerType)
Observable+Time.swift:106
    public static func timer(dueTime: RxTimeInterval, period: RxTimeInterval? = nil, scheduler: SchedulerType)
Observable+Time.swift:130
    public func take(duration: RxTimeInterval, scheduler: SchedulerType)
Observable+Time.swift:150
    public func skip(duration: RxTimeInterval, scheduler: SchedulerType)
Observable+Time.swift:190
    public func delaySubscription(dueTime: RxTimeInterval, scheduler: SchedulerType)
Observable+Time.swift:213
    public func buffer(timeSpan timeSpan: RxTimeInterval, count: Int, scheduler: SchedulerType)
Observable+Time.swift:234
    public func window(timeSpan timeSpan: RxTimeInterval, count: Int, scheduler: SchedulerType)
Observable+Time.swift:254
    public func timeout(dueTime: RxTimeInterval, scheduler: SchedulerType)
Observable+Time.swift:270
    public func timeout<O: ObservableConvertibleType where E == O.E>(dueTime: RxTimeInterval, other: O, scheduler: SchedulerType)
RecursiveScheduler.swift:36
    func schedule(state: State, dueTime: RxTimeInterval) {
SchedulerServices+Emulation.swift:21
    private let _startAfter: RxTimeInterval
SchedulerServices+Emulation.swift:22
    private let _period: RxTimeInterval
SchedulerServices+Emulation.swift:28
    init(scheduler: SchedulerType, startAfter: RxTimeInterval, period: RxTimeInterval, action: RecursiveAction, state: State) {
SchedulerServices+Emulation.swift:28
    init(scheduler: SchedulerType, startAfter: RxTimeInterval, period: RxTimeInterval, action: RecursiveAction, state: State) {
SchedulerType.swift:41
    func scheduleRelative<StateType>(state: StateType, dueTime: RxTimeInterval, action: (StateType) -> Disposable) -> Disposable
SchedulerType.swift:52
    func schedulePeriodic<StateType>(state: StateType, startAfter: RxTimeInterval, period: RxTimeInterval, action: (StateType) -> StateType) -> Disposable
SchedulerType.swift:52
    func schedulePeriodic<StateType>(state: StateType, startAfter: RxTimeInterval, period: RxTimeInterval, action: (StateType) -> StateType) -> Disposable
SchedulerType.swift:65
    public func schedulePeriodic<StateType>(state: StateType, startAfter: RxTimeInterval, period: RxTimeInterval, action: (StateType) -> StateType) -> Disposable {
SchedulerType.swift:65
    public func schedulePeriodic<StateType>(state: StateType, startAfter: RxTimeInterval, period: RxTimeInterval, action: (StateType) -> StateType) -> Disposable {
SchedulerType.swift:71
    func scheduleRecursive<State>(state: State, dueTime: RxTimeInterval, action: (state: State, scheduler: AnyRecursiveScheduler<State>) -> ()) -> Disposable {
Skip.swift:114
    let duration: RxTimeInterval
Skip.swift:117
    init(source: Observable<Element>, duration: RxTimeInterval, scheduler: SchedulerType) {
Take.swift:127
    typealias TimeInterval = RxTimeInterval
Throttle.swift:89
    private let _dueTime: RxTimeInterval
Throttle.swift:92
    init(source: Observable<Element>, dueTime: RxTimeInterval, scheduler: SchedulerType) {
Timeout.swift:104
    private let _dueTime: RxTimeInterval
Timeout.swift:108
    init(source: Observable<Element>, dueTime: RxTimeInterval, other: Observable<Element>, scheduler: SchedulerType) {
Timer.swift:51
    private let _dueTime: RxTimeInterval
Timer.swift:52
    private let _period: RxTimeInterval?
Timer.swift:54
    init(dueTime: RxTimeInterval, period: RxTimeInterval?, scheduler: SchedulerType) {
Timer.swift:54
    init(dueTime: RxTimeInterval, period: RxTimeInterval?, scheduler: SchedulerType) {
VirtualTimeConverterType.swift:47
    func convertFromVirtualTimeInterval(virtualTimeInterval: VirtualTimeIntervalUnit) -> RxTimeInterval
VirtualTimeConverterType.swift:55
    func convertToVirtualTimeInterval(timeInterval: RxTimeInterval) -> VirtualTimeIntervalUnit
VirtualTimeScheduler.swift:89
    public func scheduleRelative<StateType>(state: StateType, dueTime: RxTimeInterval, action: StateType -> Disposable) -> Disposable {
Window.swift:135
    private let _timeSpan: RxTimeInterval
Window.swift:140
    init(source: Observable<Element>, timeSpan: RxTimeInterval, count: Int, scheduler: SchedulerType) {
= NSTimeInterval 0015 0016 /** 0017 Type that represents absolute time in the context of RxSwift. 0018 */ 0019 public typealias RxTime
HistoricalScheduler.swift:21
    public init(initialClock: RxTime = NSDate(timeIntervalSince1970: 0)) {
HistoricalSchedulerTimeConverter.swift:20
    public typealias VirtualTimeUnit = RxTime
HistoricalSchedulerTimeConverter.swift:31
    public func convertFromVirtualTime(virtualTime: VirtualTimeUnit) -> RxTime {
HistoricalSchedulerTimeConverter.swift:39
    public func convertToVirtualTime(time: RxTime) -> VirtualTimeUnit {
SchedulerType.swift:29
    var now : RxTime {
VirtualTimeConverterType.swift:31
    func convertFromVirtualTime(virtualTime: VirtualTimeUnit) -> RxTime
VirtualTimeConverterType.swift:39
    func convertToVirtualTime(time: RxTime) -> VirtualTimeUnit
VirtualTimeScheduler.swift:33
    public var now: RxTime {
= NSDate 0020 0021 /** 0022 Represents an object that schedules units of work. 0023 */ 0024 public protocol SchedulerType
Buffer.swift:15
    private let _scheduler: SchedulerType
Buffer.swift:18
    init(source: Observable<Element>, timeSpan: RxTimeInterval, count: Int, scheduler: SchedulerType) {
ConcurrentDispatchQueueScheduler.swift:16
public class ConcurrentDispatchQueueScheduler: SchedulerType {
ConcurrentMainScheduler.swift:17
public final class ConcurrentMainScheduler : SchedulerType {
DelaySubscription.swift:36
    private let _scheduler: SchedulerType
DelaySubscription.swift:38
    init(source: Observable<Element>, dueTime: RxTimeInterval, scheduler: SchedulerType) {
Observable+Time.swift:26
    public func throttle(dueTime: RxTimeInterval, scheduler: SchedulerType)
Observable+Time.swift:43
    public func debounce(dueTime: RxTimeInterval, scheduler: SchedulerType)
Observable+Time.swift:83
    public static func interval(period: RxTimeInterval, scheduler: SchedulerType)
Observable+Time.swift:106
    public static func timer(dueTime: RxTimeInterval, period: RxTimeInterval? = nil, scheduler: SchedulerType)
Observable+Time.swift:130
    public func take(duration: RxTimeInterval, scheduler: SchedulerType)
Observable+Time.swift:150
    public func skip(duration: RxTimeInterval, scheduler: SchedulerType)
Observable+Time.swift:190
    public func delaySubscription(dueTime: RxTimeInterval, scheduler: SchedulerType)
Observable+Time.swift:213
    public func buffer(timeSpan timeSpan: RxTimeInterval, count: Int, scheduler: SchedulerType)
Observable+Time.swift:234
    public func window(timeSpan timeSpan: RxTimeInterval, count: Int, scheduler: SchedulerType)
Observable+Time.swift:254
    public func timeout(dueTime: RxTimeInterval, scheduler: SchedulerType)
Observable+Time.swift:270
    public func timeout<O: ObservableConvertibleType where E == O.E>(dueTime: RxTimeInterval, other: O, scheduler: SchedulerType)
RecursiveScheduler.swift:22
    private var _scheduler: SchedulerType
RecursiveScheduler.swift:25
    init(scheduler: SchedulerType, action: Action) {
SchedulerServices+Emulation.swift:20
    private let _scheduler: SchedulerType
SchedulerServices+Emulation.swift:28
    init(scheduler: SchedulerType, startAfter: RxTimeInterval, period: RxTimeInterval, action: RecursiveAction, state: State) {
SchedulerType.swift:55
extension SchedulerType {
SerialDispatchQueueScheduler.swift:28
public class SerialDispatchQueueScheduler: SchedulerType {
Skip.swift:115
    let scheduler: SchedulerType
Skip.swift:117
    init(source: Observable<Element>, duration: RxTimeInterval, scheduler: SchedulerType) {
Take.swift:131
    private let _scheduler: SchedulerType
Take.swift:133
    init(source: Observable<Element>, duration: TimeInterval, scheduler: SchedulerType) {
Throttle.swift:90
    private let _scheduler: SchedulerType
Throttle.swift:92
    init(source: Observable<Element>, dueTime: RxTimeInterval, scheduler: SchedulerType) {
Timeout.swift:106
    private let _scheduler: SchedulerType
Timeout.swift:108
    init(source: Observable<Element>, dueTime: RxTimeInterval, other: Observable<Element>, scheduler: SchedulerType) {
Timer.swift:50
    private let _scheduler: SchedulerType
Timer.swift:54
    init(dueTime: RxTimeInterval, period: RxTimeInterval?, scheduler: SchedulerType) {
VirtualTimeScheduler.swift:15
    : SchedulerType
Window.swift:137
    private let _scheduler: SchedulerType
Window.swift:140
    init(source: Observable<Element>, timeSpan: RxTimeInterval, count: Int, scheduler: SchedulerType) {
: ImmediateSchedulerType { 0025 0026 /** 0027 - returns: Current time. 0028 */ 0029 var now : RxTime { 0030 get 0031 } 0032 0033 /** 0034 Schedules an action to be executed. 0035 0036 - parameter state: State passed to the action to be executed. 0037 - parameter dueTime: Relative time after which to execute the action. 0038 - parameter action: Action to be executed. 0039 - returns: The disposable object used to cancel the scheduled action (best effort). 0040 */ 0041 func scheduleRelative
Buffer.swift:107
        nextTimer.disposable = _parent._scheduler.scheduleRelative(windowID, dueTime: _parent._timeSpan) { previousWindowID in
DelaySubscription.swift:46
        sink.disposable = _scheduler.scheduleRelative((), dueTime: _dueTime) { _ in
RecursiveScheduler.swift:42
        let d = _scheduler.scheduleRelative(state, dueTime: dueTime) { (state) -> Disposable in
Skip.swift:101
        let disposeTimer = parent.scheduler.scheduleRelative((), dueTime: self.parent.duration) {
Take.swift:115
        let disposeTimer = _parent._scheduler.scheduleRelative((), dueTime: _parent._duration) {
Throttle.swift:58
            d.disposable = scheduler.scheduleRelative(currentId, dueTime: dueTime, action: self.propagate)
Timeout.swift:82
        nextTimer.disposable = _parent._scheduler.scheduleRelative(_id, dueTime: _parent._dueTime) { state in
Timer.swift:40
        return _parent._scheduler.scheduleRelative((), dueTime: _parent._dueTime) { (_) -> Disposable in
Window.swift:111
        nextTimer.disposable = _parent._scheduler.scheduleRelative(windowId, dueTime: _parent._timeSpan) { previousWindowId in
<StateType>(state: StateType, dueTime: RxTimeInterval, action: (StateType) -> Disposable) -> Disposable 0042 0043 /** 0044 Schedules a periodic piece of work. 0045 0046 - parameter state: State passed to the action to be executed. 0047 - parameter startAfter: Period after which initial work should be run. 0048 - parameter period: Period for running the work periodically. 0049 - parameter action: Action to be executed. 0050 - returns: The disposable object used to cancel the scheduled action (best effort). 0051 */ 0052 func schedulePeriodic
Timer.swift:22
        return _parent._scheduler.schedulePeriodic(0 as O.E, startAfter: _parent._dueTime, period: _parent._period!) { state in
<StateType>(state: StateType, startAfter: RxTimeInterval, period: RxTimeInterval, action: (StateType) -> StateType) -> Disposable 0053 } 0054 0055 extension SchedulerType { 0056 0057 /** 0058 Periodic task will be emulated using recursive scheduling. 0059 0060 - parameter state: Initial state passed to the action upon the first iteration. 0061 - parameter startAfter: Period after which initial work should be run. 0062 - parameter period: Period for running the work periodically. 0063 - returns: The disposable object used to cancel the scheduled recurring action (best effort). 0064 */ 0065 public func schedulePeriodic<StateType>(state: StateType, startAfter: RxTimeInterval, period: RxTimeInterval, action: (StateType) -> StateType) -> Disposable { 0066 let schedule = SchedulePeriodicRecursive(scheduler: self, startAfter: startAfter, period: period, action: action, state: state) 0067 0068 return schedule.start() 0069 } 0070 0071 func scheduleRecursive
SchedulerServices+Emulation.swift:37
        return _scheduler.scheduleRecursive(SchedulePeriodicRecursiveCommand.Tick, dueTime: _startAfter, action: self.tick)
<State>(state: State, dueTime: RxTimeInterval, action: (state: State, scheduler: AnyRecursiveScheduler<State>) -> ()) -> Disposable { 0072 let scheduler = AnyRecursiveScheduler(scheduler: self, action: action) 0073 0074 scheduler.schedule(state, dueTime: dueTime) 0075 0076 return AnonymousDisposable { 0077 scheduler.dispose() 0078 } 0079 } 0080 }