0001 // 0002 // SubscribeOn.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 SubscribeOnSink<Ob
SubscribeOn.swift:56 let sink = SubscribeOnSink(parent: self, observer: observer): ObservableType, O
SubscribeOn.swift:13 typealias Parent = SubscribeOn<Ob>: ObserverType where Ob.E == O.E> : Sink<O>, ObserverType { 0012 typealias Element
SubscribeOn.swift:11 class SubscribeOnSink<Ob: ObservableType, O: ObserverType where Ob.E == O.E> : Sink<O>, ObserverType {SubscribeOn.swift:12 typealias Element = O.ESubscribeOn.swift:17 init(parent: Parent, observer: O) {= O.E 0013 typealias Parent
SubscribeOn.swift:22 func on(event: Event<Element>) {= SubscribeOn<Ob> 0014 0015 let parent
SubscribeOn.swift:15 let parent: ParentSubscribeOn.swift:17 init(parent: Parent, observer: O) {: Parent 0016 0017 init
SubscribeOn.swift:18 self.parent = parentSubscribeOn.swift:36 cancelSchedule.disposable = parent.scheduler.schedule(()) { (_) -> Disposable inSubscribeOn.swift:37 let subscription = self.parent.source.subscribe(self)SubscribeOn.swift:38 disposeEverything.disposable = ScheduledDisposable(scheduler: self.parent.scheduler, disposable: subscription)(parent: Parent, observer: O) { 0018 self.parent = parent 0019 super.init(observer: observer) 0020 } 0021 0022 func on(event: Event<Element>) { 0023 forwardOn(event) 0024 0025 if event.isStopEvent { 0026 self.dispose() 0027 } 0028 } 0029 0030 func run
SubscribeOn.swift:56 let sink = SubscribeOnSink(parent: self, observer: observer)() -> Disposable { 0031 let disposeEverything = SerialDisposable() 0032 let cancelSchedule = SingleAssignmentDisposable() 0033 0034 disposeEverything.disposable = cancelSchedule 0035 0036 cancelSchedule.disposable = parent.scheduler.schedule(()) { (_) -> Disposable in 0037 let subscription = self.parent.source.subscribe(self) 0038 disposeEverything.disposable = ScheduledDisposable(scheduler: self.parent.scheduler, disposable: subscription) 0039 return NopDisposable.instance 0040 } 0041 0042 return disposeEverything 0043 } 0044 } 0045 0046 class SubscribeOn
SubscribeOn.swift:57 sink.disposable = sink.run()<Ob
Observable+Concurrency.swift:60 return SubscribeOn(source: self, scheduler: scheduler)SubscribeOn.swift:13 typealias Parent = SubscribeOn<Ob>: ObservableType> : Producer<Ob.E> { 0047 let source
SubscribeOn.swift:46 class SubscribeOn<Ob: ObservableType> : Producer<Ob.E> {SubscribeOn.swift:47 let source: ObSubscribeOn.swift:50 init(source: Ob, scheduler: ImmediateSchedulerType) {SubscribeOn.swift:55 override func run<O : ObserverType where O.E == Ob.E>(observer: O) -> Disposable {: Ob 0048 let scheduler
SubscribeOn.swift:37 let subscription = self.parent.source.subscribe(self)SubscribeOn.swift:51 self.source = source: ImmediateSchedulerType 0049 0050 init
SubscribeOn.swift:36 cancelSchedule.disposable = parent.scheduler.schedule(()) { (_) -> Disposable inSubscribeOn.swift:38 disposeEverything.disposable = ScheduledDisposable(scheduler: self.parent.scheduler, disposable: subscription)SubscribeOn.swift:52 self.scheduler = scheduler(source: Ob, scheduler: ImmediateSchedulerType) { 0051 self.source = source 0052 self.scheduler = scheduler 0053 } 0054 0055 override func run<O : ObserverType where O.E == Ob.E>(observer: O) -> Disposable { 0056 let sink = SubscribeOnSink(parent: self, observer: observer) 0057 sink.disposable = sink.run() 0058 return sink 0059 } 0060 }
Observable+Concurrency.swift:60 return SubscribeOn(source: self, scheduler: scheduler)