0001 // 0002 // HistoricalSchedulerTimeConverter.swift 0003 // Rx 0004 // 0005 // Created by Krunoslav Zaher on 12/27/15. 0006 // Copyright © 2015 Krunoslav Zaher. All rights reserved. 0007 // 0008 0009 import Foundation 0010 0011 /** 0012 Converts historial virtual time into real time. 0013 0014 Since historical virtual time is also measured in `NSDate`, this converter is identity function. 0015 */ 0016 public struct HistoricalSchedulerTimeConverter: VirtualTimeConverterType { 0017 /** 0018 Virtual time unit used that represents ticks of virtual clock. 0019 */ 0020 public typealias VirtualTimeUnit
HistoricalScheduler.swift:14 public class HistoricalScheduler : VirtualTimeScheduler<HistoricalSchedulerTimeConverter> {HistoricalScheduler.swift:22 super.init(initialClock: initialClock, converter: HistoricalSchedulerTimeConverter())= RxTime 0021 0022 /** 0023 Virtual time unit used to represent differences of virtual times. 0024 */ 0025 public typealias VirtualTimeIntervalUnit
HistoricalSchedulerTimeConverter.swift:31 public func convertFromVirtualTime(virtualTime: VirtualTimeUnit) -> RxTime {HistoricalSchedulerTimeConverter.swift:39 public func convertToVirtualTime(time: RxTime) -> VirtualTimeUnit {HistoricalSchedulerTimeConverter.swift:66 public func offsetVirtualTime(time time: VirtualTimeUnit, offset: VirtualTimeIntervalUnit) -> VirtualTimeUnit {HistoricalSchedulerTimeConverter.swift:66 public func offsetVirtualTime(time time: VirtualTimeUnit, offset: VirtualTimeIntervalUnit) -> VirtualTimeUnit {HistoricalSchedulerTimeConverter.swift:73 public func compareVirtualTime(lhs: VirtualTimeUnit, _ rhs: VirtualTimeUnit) -> VirtualTimeComparison {HistoricalSchedulerTimeConverter.swift:73 public func compareVirtualTime(lhs: VirtualTimeUnit, _ rhs: VirtualTimeUnit) -> VirtualTimeComparison {= RxTimeInterval 0026 0027 /** 0028 Returns identical value of argument passed because historical virtual time is equal to real time, just 0029 decoupled from local machine clock. 0030 */ 0031 public func convertFromVirtualTime(virtualTime: VirtualTimeUnit) -> RxTime { 0032 return virtualTime 0033 } 0034 0035 /** 0036 Returns identical value of argument passed because historical virtual time is equal to real time, just 0037 decoupled from local machine clock. 0038 */ 0039 public func convertToVirtualTime(time: RxTime) -> VirtualTimeUnit { 0040 return time 0041 } 0042 0043 /** 0044 Returns identical value of argument passed because historical virtual time is equal to real time, just 0045 decoupled from local machine clock. 0046 */ 0047 public func convertFromVirtualTimeInterval(virtualTimeInterval: VirtualTimeIntervalUnit) -> RxTimeInterval { 0048 return virtualTimeInterval 0049 } 0050 0051 /** 0052 Returns identical value of argument passed because historical virtual time is equal to real time, just 0053 decoupled from local machine clock. 0054 */ 0055 public func convertToVirtualTimeInterval(timeInterval: RxTimeInterval) -> VirtualTimeIntervalUnit { 0056 return timeInterval 0057 } 0058 0059 /** 0060 Offsets `NSDate` by time interval. 0061 0062 - parameter time: Time. 0063 - parameter timeInterval: Time interval offset. 0064 - returns: Time offsetted by time interval. 0065 */ 0066 public func offsetVirtualTime(time time: VirtualTimeUnit, offset: VirtualTimeIntervalUnit) -> VirtualTimeUnit { 0067 return time.dateByAddingTimeInterval(offset) 0068 } 0069 0070 /** 0071 Compares two `NSDate`s. 0072 */ 0073 public func compareVirtualTime(lhs: VirtualTimeUnit, _ rhs: VirtualTimeUnit) -> VirtualTimeComparison { 0074 switch lhs.compare(rhs) { 0075 case .OrderedAscending: 0076 return .LessThan 0077 case .OrderedSame: 0078 return .Equal 0079 case .OrderedDescending: 0080 return .GreaterThan 0081 } 0082 } 0083 }
HistoricalSchedulerTimeConverter.swift:47 public func convertFromVirtualTimeInterval(virtualTimeInterval: VirtualTimeIntervalUnit) -> RxTimeInterval {HistoricalSchedulerTimeConverter.swift:55 public func convertToVirtualTimeInterval(timeInterval: RxTimeInterval) -> VirtualTimeIntervalUnit {HistoricalSchedulerTimeConverter.swift:66 public func offsetVirtualTime(time time: VirtualTimeUnit, offset: VirtualTimeIntervalUnit) -> VirtualTimeUnit {