0001 // 0002 // Sample.swift 0003 // RxSwift 0004 // 0005 // Created by Krunoslav Zaher on 5/1/15. 0006 // Copyright © 2015 Krunoslav Zaher. All rights reserved. 0007 // 0008 0009 import Foundation 0010 0011 class SamplerSink<O
Sample.swift:89 let samplerSubscription = _parent._sampler.subscribe(SamplerSink(parent: self)): ObserverType, ElementType, SampleType
Sample.swift:17 typealias Parent = SampleSequenceSink<O, SampleType>where O.E == ElementType> 0012 : ObserverType 0013 , LockOwnerType 0014 , SynchronizedOnType { 0015 typealias E
Sample.swift:15 typealias E = SampleTypeSample.swift:17 typealias Parent = SampleSequenceSink<O, SampleType>= SampleType 0016 0017 typealias Parent
Sample.swift:29 func on(event: Event<E>) {Sample.swift:33 func _synchronized_on(event: Event<E>) {= SampleSequenceSink<O, SampleType> 0018 0019 private let _parent
Sample.swift:19 private let _parent: ParentSample.swift:25 init(parent: Parent) {: Parent 0020 0021 var _lock: NSRecursiveLock { 0022 return _parent._lock 0023 } 0024 0025 init
Sample.swift:22 return _parent._lockSample.swift:26 _parent = parentSample.swift:36 if let element = _parent._element {Sample.swift:37 if _parent._parent._onlyNew {Sample.swift:38 _parent._element = nilSample.swift:41 _parent.forwardOn(.Next(element))Sample.swift:44 if _parent._atEnd {Sample.swift:45 _parent.forwardOn(.Completed)Sample.swift:46 _parent.dispose()Sample.swift:49 _parent.forwardOn(.Error(e))Sample.swift:50 _parent.dispose()Sample.swift:52 if let element = _parent._element {Sample.swift:53 _parent._element = nilSample.swift:54 _parent.forwardOn(.Next(element))Sample.swift:56 if _parent._atEnd {Sample.swift:57 _parent.forwardOn(.Completed)Sample.swift:58 _parent.dispose()(parent: Parent) { 0026 _parent = parent 0027 } 0028 0029 func on(event: Event<E>) { 0030 synchronizedOn(event) 0031 } 0032 0033 func _synchronized_on(event: Event<E>) { 0034 switch event { 0035 case .Next: 0036 if let element = _parent._element { 0037 if _parent._parent._onlyNew { 0038 _parent._element = nil 0039 } 0040 0041 _parent.forwardOn(.Next(element)) 0042 } 0043 0044 if _parent._atEnd { 0045 _parent.forwardOn(.Completed) 0046 _parent.dispose() 0047 } 0048 case .Error(let e): 0049 _parent.forwardOn(.Error(e)) 0050 _parent.dispose() 0051 case .Completed: 0052 if let element = _parent._element { 0053 _parent._element = nil 0054 _parent.forwardOn(.Next(element)) 0055 } 0056 if _parent._atEnd { 0057 _parent.forwardOn(.Completed) 0058 _parent.dispose() 0059 } 0060 } 0061 } 0062 } 0063 0064 class SampleSequenceSink
Sample.swift:89 let samplerSubscription = _parent._sampler.subscribe(SamplerSink(parent: self))<O
Sample.swift:17 typealias Parent = SampleSequenceSink<O, SampleType>Sample.swift:125 let sink = SampleSequenceSink(parent: self, observer: observer): ObserverType, SampleType
Sample.swift:65 : Sink<O>Sample.swift:69 typealias Element = O.ESample.swift:82 init(parent: Parent, observer: O) {> 0065 : Sink<O> 0066 , ObserverType 0067 , LockOwnerType 0068 , SynchronizedOnType { 0069 typealias Element
Sample.swift:70 typealias Parent = Sample<Element, SampleType>= O.E 0070 typealias Parent
Sample.swift:70 typealias Parent = Sample<Element, SampleType>Sample.swift:77 private var _element = nil as Element?Sample.swift:94 func on(event: Event<Element>) {Sample.swift:98 func _synchronized_on(event: Event<Element>) {= Sample<Element, SampleType> 0071 0072 private let _parent
Sample.swift:72 private let _parent: ParentSample.swift:82 init(parent: Parent, observer: O) {: Parent 0073 0074 let _lock
Sample.swift:37 if _parent._parent._onlyNew {Sample.swift:83 _parent = parentSample.swift:88 _sourceSubscription.disposable = _parent._source.subscribe(self)Sample.swift:89 let samplerSubscription = _parent._sampler.subscribe(SamplerSink(parent: self))= NSRecursiveLock() 0075 0076 // state 0077 private var _element
Sample.swift:22 return _parent._lock= nil as Element? 0078 private var _atEnd
Sample.swift:36 if let element = _parent._element {Sample.swift:38 _parent._element = nilSample.swift:52 if let element = _parent._element {Sample.swift:53 _parent._element = nilSample.swift:101 _element = element= false 0079 0080 private let _sourceSubscription
Sample.swift:44 if _parent._atEnd {Sample.swift:56 if _parent._atEnd {Sample.swift:106 _atEnd = true= SingleAssignmentDisposable() 0081 0082 init
Sample.swift:88 _sourceSubscription.disposable = _parent._source.subscribe(self)Sample.swift:91 return StableCompositeDisposable.create(_sourceSubscription, samplerSubscription)Sample.swift:107 _sourceSubscription.dispose()(parent: Parent, observer: O) { 0083 _parent = parent 0084 super.init(observer: observer) 0085 } 0086 0087 func run
Sample.swift:125 let sink = SampleSequenceSink(parent: self, observer: observer)() -> Disposable { 0088 _sourceSubscription.disposable = _parent._source.subscribe(self) 0089 let samplerSubscription = _parent._sampler.subscribe(SamplerSink(parent: self)) 0090 0091 return StableCompositeDisposable.create(_sourceSubscription, samplerSubscription) 0092 } 0093 0094 func on(event: Event<Element>) { 0095 synchronizedOn(event) 0096 } 0097 0098 func _synchronized_on(event: Event<Element>) { 0099 switch event { 0100 case .Next(let element): 0101 _element = element 0102 case .Error: 0103 forwardOn(event) 0104 dispose() 0105 case .Completed: 0106 _atEnd = true 0107 _sourceSubscription.dispose() 0108 } 0109 } 0110 0111 } 0112 0113 class Sample
Sample.swift:126 sink.disposable = sink.run()<Element
Observable+Time.swift:68 return Sample(source: self.asObservable(), sampler: sampler.asObservable(), onlyNew: true)Sample.swift:70 typealias Parent = Sample<Element, SampleType>, SampleType
Sample.swift:113 class Sample<Element, SampleType> : Producer<Element> {Sample.swift:114 private let _source: Observable<Element>Sample.swift:118 init(source: Observable<Element>, sampler: Observable<SampleType>, onlyNew: Bool) {Sample.swift:124 override func run<O: ObserverType where O.E == Element>(observer: O) -> Disposable {> : Producer<Element> { 0114 private let _source
Sample.swift:115 private let _sampler: Observable<SampleType>Sample.swift:118 init(source: Observable<Element>, sampler: Observable<SampleType>, onlyNew: Bool) {: Observable<Element> 0115 private let _sampler
Sample.swift:88 _sourceSubscription.disposable = _parent._source.subscribe(self)Sample.swift:119 _source = source: Observable<SampleType> 0116 private let _onlyNew
Sample.swift:89 let samplerSubscription = _parent._sampler.subscribe(SamplerSink(parent: self))Sample.swift:120 _sampler = sampler: Bool 0117 0118 init
Sample.swift:37 if _parent._parent._onlyNew {Sample.swift:121 _onlyNew = onlyNew(source: Observable<Element>, sampler: Observable<SampleType>, onlyNew: Bool) { 0119 _source = source 0120 _sampler = sampler 0121 _onlyNew = onlyNew 0122 } 0123 0124 override func run<O: ObserverType where O.E == Element>(observer: O) -> Disposable { 0125 let sink = SampleSequenceSink(parent: self, observer: observer) 0126 sink.disposable = sink.run() 0127 return sink 0128 } 0129 }
Observable+Time.swift:68 return Sample(source: self.asObservable(), sampler: sampler.asObservable(), onlyNew: true)