0001 // 0002 // DelaySubscription.swift 0003 // RxSwift 0004 // 0005 // Created by Krunoslav Zaher on 6/14/15. 0006 // Copyright © 2015 Krunoslav Zaher. All rights reserved. 0007 // 0008 0009 import Foundation 0010 0011 class DelaySubscriptionSink<ElementType
DelaySubscription.swift:45 let sink = DelaySubscriptionSink(parent: self, observer: observer), O
DelaySubscription.swift:14 typealias Parent = DelaySubscription<ElementType>: ObserverType where O.E == ElementType> 0012 : Sink<O> 0013 , ObserverType { 0014 typealias Parent
DelaySubscription.swift:12 : Sink<O>DelaySubscription.swift:15 typealias E = O.EDelaySubscription.swift:19 init(parent: Parent, observer: O) {= DelaySubscription<ElementType> 0015 typealias E
DelaySubscription.swift:17 private let _parent: ParentDelaySubscription.swift:19 init(parent: Parent, observer: O) {= O.E 0016 0017 private let _parent
DelaySubscription.swift:24 func on(event: Event<E>) {: Parent 0018 0019 init
DelaySubscription.swift:20 _parent = parent(parent: Parent, observer: O) { 0020 _parent = parent 0021 super.init(observer: observer) 0022 } 0023 0024 func on(event: Event<E>) { 0025 forwardOn(event) 0026 if event.isStopEvent { 0027 dispose() 0028 } 0029 } 0030 0031 } 0032 0033 class DelaySubscription
DelaySubscription.swift:45 let sink = DelaySubscriptionSink(parent: self, observer: observer)<Element
DelaySubscription.swift:14 typealias Parent = DelaySubscription<ElementType>Observable+Time.swift:192 return DelaySubscription(source: self.asObservable(), dueTime: dueTime, scheduler: scheduler)>: Producer<Element> { 0034 private let _source
DelaySubscription.swift:33 class DelaySubscription<Element>: Producer<Element> {DelaySubscription.swift:34 private let _source: Observable<Element>DelaySubscription.swift:38 init(source: Observable<Element>, dueTime: RxTimeInterval, scheduler: SchedulerType) {DelaySubscription.swift:44 override func run<O : ObserverType where O.E == Element>(observer: O) -> Disposable {: Observable<Element> 0035 private let _dueTime
DelaySubscription.swift:39 _source = sourceDelaySubscription.swift:47 return self._source.subscribe(sink): RxTimeInterval 0036 private let _scheduler
DelaySubscription.swift:40 _dueTime = dueTimeDelaySubscription.swift:46 sink.disposable = _scheduler.scheduleRelative((), dueTime: _dueTime) { _ in: SchedulerType 0037 0038 init
DelaySubscription.swift:41 _scheduler = schedulerDelaySubscription.swift:46 sink.disposable = _scheduler.scheduleRelative((), dueTime: _dueTime) { _ in(source: Observable<Element>, dueTime: RxTimeInterval, scheduler: SchedulerType) { 0039 _source = source 0040 _dueTime = dueTime 0041 _scheduler = scheduler 0042 } 0043 0044 override func run<O : ObserverType where O.E == Element>(observer: O) -> Disposable { 0045 let sink = DelaySubscriptionSink(parent: self, observer: observer) 0046 sink.disposable = _scheduler.scheduleRelative((), dueTime: _dueTime) { _ in 0047 return self._source.subscribe(sink) 0048 } 0049 0050 return sink 0051 } 0052 }
Observable+Time.swift:192 return DelaySubscription(source: self.asObservable(), dueTime: dueTime, scheduler: scheduler)