0001 // 0002 // AnonymousObservable.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 class AnonymousObservableSink<O
AnonymousObservable.swift:52 let sink = AnonymousObservableSink(observer: observer): ObserverType> : Sink<O>, ObserverType { 0012 typealias E
AnonymousObservable.swift:11 class AnonymousObservableSink<O: ObserverType> : Sink<O>, ObserverType {AnonymousObservable.swift:12 typealias E = O.EAnonymousObservable.swift:18 override init(observer: O) {= O.E 0013 typealias Parent
AnonymousObservable.swift:13 typealias Parent = AnonymousObservable<E>AnonymousObservable.swift:22 func on(event: Event<E>) {= AnonymousObservable<E> 0014 0015 // state 0016 private var _isStopped
AnonymousObservable.swift:37 func run(parent: Parent) -> Disposable {: AtomicInt = 0 0017 0018 override init
AnonymousObservable.swift:25 if _isStopped == 1 {AnonymousObservable.swift:30 if AtomicCompareAndSwap(0, 1, &_isStopped) {(observer: O) { 0019 super.init(observer: observer) 0020 } 0021 0022 func on(event: Event<E>) { 0023 switch event { 0024 case .Next: 0025 if _isStopped == 1 { 0026 return 0027 } 0028 forwardOn(event) 0029 case .Error, .Completed: 0030 if AtomicCompareAndSwap(0, 1, &_isStopped) { 0031 forwardOn(event) 0032 dispose() 0033 } 0034 } 0035 } 0036 0037 func run
AnonymousObservable.swift:52 let sink = AnonymousObservableSink(observer: observer)(parent: Parent) -> Disposable { 0038 return parent._subscribeHandler(AnyObserver(self)) 0039 } 0040 } 0041 0042 class AnonymousObservable
AnonymousObservable.swift:53 sink.disposable = sink.run(self)<Element
AnonymousObservable.swift:13 typealias Parent = AnonymousObservable<E>Observable+Creation.swift:24 return AnonymousObservable(subscribe)> : Producer<Element> { 0043 typealias SubscribeHandler
AnonymousObservable.swift:42 class AnonymousObservable<Element> : Producer<Element> {AnonymousObservable.swift:43 typealias SubscribeHandler = (AnyObserver<Element>) -> DisposableAnonymousObservable.swift:51 override func run<O : ObserverType where O.E == Element>(observer: O) -> Disposable {= (AnyObserver<Element>) -> Disposable 0044 0045 let _subscribeHandler
AnonymousObservable.swift:45 let _subscribeHandler: SubscribeHandlerAnonymousObservable.swift:47 init(_ subscribeHandler: SubscribeHandler) {: SubscribeHandler 0046 0047 init
AnonymousObservable.swift:38 return parent._subscribeHandler(AnyObserver(self))AnonymousObservable.swift:48 _subscribeHandler = subscribeHandler(_ subscribeHandler: SubscribeHandler) { 0048 _subscribeHandler = subscribeHandler 0049 } 0050 0051 override func run<O : ObserverType where O.E == Element>(observer: O) -> Disposable { 0052 let sink = AnonymousObservableSink(observer: observer) 0053 sink.disposable = sink.run(self) 0054 return sink 0055 } 0056 } 0057
Observable+Creation.swift:24 return AnonymousObservable(subscribe)