0001    //
0002    //  Timer.swift
0003    //  RxSwift
0004    //
0005    //  Created by Krunoslav Zaher on 6/7/15.
0006    //  Copyright © 2015 Krunoslav Zaher. All rights reserved.
0007    //
0008    
0009    import Foundation
0010    
0011    class TimerSink
Timer.swift:62
            let sink = TimerSink(parent: self, observer: observer)
<O
Timer.swift:11
class TimerSink<O: ObserverType where O.E : SignedIntegerType > : Sink<O> {
Timer.swift:12
    typealias Parent = Timer<O.E>
Timer.swift:16
    init(parent: Parent, observer: O) {
Timer.swift:22
        return _parent._scheduler.schedulePeriodic(0 as O.E, startAfter: _parent._dueTime, period: _parent._period!) { state in
: ObserverType where O.E : SignedIntegerType > : Sink<O> { 0012 typealias Parent
Timer.swift:14
    private let _parent: Parent
Timer.swift:16
    init(parent: Parent, observer: O) {
= Timer<O.E> 0013 0014 private let _parent
Timer.swift:17
        _parent = parent
Timer.swift:22
        return _parent._scheduler.schedulePeriodic(0 as O.E, startAfter: _parent._dueTime, period: _parent._period!) { state in
Timer.swift:22
        return _parent._scheduler.schedulePeriodic(0 as O.E, startAfter: _parent._dueTime, period: _parent._period!) { state in
Timer.swift:22
        return _parent._scheduler.schedulePeriodic(0 as O.E, startAfter: _parent._dueTime, period: _parent._period!) { state in
: Parent 0015 0016 init
Timer.swift:62
            let sink = TimerSink(parent: self, observer: observer)
(parent: Parent, observer: O) { 0017 _parent = parent 0018 super.init(observer: observer) 0019 } 0020 0021 func run
Timer.swift:63
            sink.disposable = sink.run()
() -> Disposable { 0022 return _parent._scheduler.schedulePeriodic(0 as O.E, startAfter: _parent._dueTime, period: _parent._period!) { state in 0023 self.forwardOn(.Next(state)) 0024 return state &+ 1 0025 } 0026 } 0027 } 0028 0029 class TimerOneOffSink
Timer.swift:67
            let sink = TimerOneOffSink(parent: self, observer: observer)
<O
Timer.swift:29
class TimerOneOffSink<O: ObserverType where O.E : SignedIntegerType> : Sink<O> {
Timer.swift:30
    typealias Parent = Timer<O.E>
Timer.swift:34
    init(parent: Parent, observer: O) {
: ObserverType where O.E : SignedIntegerType> : Sink<O> { 0030 typealias Parent
Timer.swift:32
    private let _parent: Parent
Timer.swift:34
    init(parent: Parent, observer: O) {
= Timer<O.E> 0031 0032 private let _parent
Timer.swift:35
        _parent = parent
Timer.swift:40
        return _parent._scheduler.scheduleRelative((), dueTime: _parent._dueTime) { (_) -> Disposable in
Timer.swift:40
        return _parent._scheduler.scheduleRelative((), dueTime: _parent._dueTime) { (_) -> Disposable in
: Parent 0033 0034 init
Timer.swift:67
            let sink = TimerOneOffSink(parent: self, observer: observer)
(parent: Parent, observer: O) { 0035 _parent = parent 0036 super.init(observer: observer) 0037 } 0038 0039 func run
Timer.swift:68
            sink.disposable = sink.run()
() -> Disposable { 0040 return _parent._scheduler.scheduleRelative((), dueTime: _parent._dueTime) { (_) -> Disposable in 0041 self.forwardOn(.Next(0)) 0042 self.forwardOn(.Completed) 0043 0044 return NopDisposable.instance 0045 } 0046 } 0047 } 0048 0049 class Timer
Observable+Time.swift:85
        return Timer(dueTime: period,
Observable+Time.swift:108
        return Timer(
Timer.swift:12
    typealias Parent = Timer<O.E>
Timer.swift:30
    typealias Parent = Timer<O.E>
<E
Timer.swift:49
class Timer<E: SignedIntegerType>: Producer<E> {
: SignedIntegerType>: Producer<E> { 0050 private let _scheduler
Timer.swift:22
        return _parent._scheduler.schedulePeriodic(0 as O.E, startAfter: _parent._dueTime, period: _parent._period!) { state in
Timer.swift:40
        return _parent._scheduler.scheduleRelative((), dueTime: _parent._dueTime) { (_) -> Disposable in
Timer.swift:55
        _scheduler = scheduler
: SchedulerType 0051 private let _dueTime
Timer.swift:22
        return _parent._scheduler.schedulePeriodic(0 as O.E, startAfter: _parent._dueTime, period: _parent._period!) { state in
Timer.swift:40
        return _parent._scheduler.scheduleRelative((), dueTime: _parent._dueTime) { (_) -> Disposable in
Timer.swift:56
        _dueTime = dueTime
: RxTimeInterval 0052 private let _period
Timer.swift:22
        return _parent._scheduler.schedulePeriodic(0 as O.E, startAfter: _parent._dueTime, period: _parent._period!) { state in
Timer.swift:57
        _period = period
Timer.swift:61
        if let _ = _period {
: RxTimeInterval? 0053 0054 init
Observable+Time.swift:85
        return Timer(dueTime: period,
Observable+Time.swift:108
        return Timer(
(dueTime: RxTimeInterval, period: RxTimeInterval?, scheduler: SchedulerType) { 0055 _scheduler = scheduler 0056 _dueTime = dueTime 0057 _period = period 0058 } 0059 0060 override func run<O : ObserverType where O.E == E>(observer: O) -> Disposable { 0061 if let _ = _period { 0062 let sink = TimerSink(parent: self, observer: observer) 0063 sink.disposable = sink.run() 0064 return sink 0065 } 0066 else { 0067 let sink = TimerOneOffSink(parent: self, observer: observer) 0068 sink.disposable = sink.run() 0069 return sink 0070 } 0071 } 0072 }