0001 // 0002 // Timeout.swift 0003 // Deferred 0004 // 0005 // Created by Zachary Waldowski on 9/24/15. 0006 // Copyright © 2015 Big Nerd Ranch. All rights reserved. 0007 // 0008 0009 import Dispatch 0010 0011 /// An amount of time to wait for an event. 0012 public enum Timeout{ 0013 /// Do not wait at all. 0014 case Now
Deferred.swift:96 public func wait(time: Timeout) -> Value? {ExistentialFuture.swift:25 func wait(time: Timeout) -> Value? {ExistentialFuture.swift:41 override func wait(time: Timeout) -> Future.Value? {ExistentialFuture.swift:59 override func wait(time: Timeout) -> Value? {ExistentialFuture.swift:106 public func wait(time: Timeout) -> Value? {FutureType.swift:60 func wait(time: Timeout) -> Value?IgnoringFuture.swift:45 public func wait(time: Timeout) -> ()? {Timeout.swift:21 extension Timeout {0015 /// Wait indefinitely. 0016 case Forever
FutureType.swift:91 return wait(.Now)FutureType.swift:109 return wait(.Now) != nilTimeout.swift:25 case .Now:0017 /// Wait for a given number of seconds. 0018 case Interval
FutureType.swift:104 return unsafeUnwrap(wait(.Forever))Timeout.swift:27 case .Forever:(Double) 0019 } 0020 0021 extension Timeout { 0022 0023 var rawValue
Timeout.swift:29 case .Interval(let time):: dispatch_time_t { 0024 switch self { 0025 case .Now: 0026 return DISPATCH_TIME_NOW 0027 case .Forever: 0028 return DISPATCH_TIME_FOREVER 0029 case .Interval(let time): 0030 return dispatch_time(DISPATCH_TIME_NOW, Int64(time * Double(NSEC_PER_SEC))) 0031 } 0032 } 0033 0034 } 0035
Deferred.swift:112 guard dispatch_block_wait(handler, time.rawValue) == 0 else {