0001 // 0002 // DispatchQueueConstants.swift 0003 // DispatchKit <https://github.com/anpol/DispatchKit> 0004 // 0005 // Copyright (c) 2014 Andrei Polushin. All rights reserved. 0006 // 0007 0008 import Foundation 0009 0010 public enum DispatchQueueAttr{ 0011 case Serial
DispatchQueue.swift:29 attr: DispatchQueueAttr = .Serial,0012 case Concurrent
DispatchQueue.swift:29 attr: DispatchQueueAttr = .Serial,DispatchQueueConstants.swift:16 case .Serial:0013 0014 public var rawValue
DispatchQueueConstants.swift:18 case .Concurrent:: dispatch_queue_attr_t! { 0015 switch self { 0016 case .Serial: 0017 return DISPATCH_QUEUE_SERIAL 0018 case .Concurrent: 0019 return DISPATCH_QUEUE_CONCURRENT 0020 } 0021 } 0022 } 0023 0024 public enum DispatchQOSClass
DispatchQueue.swift:36 guard let rawValue = dispatch_queue_create(label, attr.rawValue) else {DispatchQueue.swift:45 attr.rawValue, qosClass.rawClass, Int32(relativePriority)),DispatchQueue.swift:53 guard let rawValue = dispatch_queue_create(label, attr.rawValue) else {{ 0025 0026 case Unspecified
Dispatch.swift:28 public static func getGlobalQueue(qosClass qosClass: DispatchQOSClass, flags: Int = 0) -> DispatchQueue {DispatchQueue.swift:30 qosClass: DispatchQOSClass = .Unspecified,DispatchQueueConstants.swift:87 public init(qosClass: DispatchQOSClass) {0027 case UserInteractive
DispatchQueue.swift:30 qosClass: DispatchQOSClass = .Unspecified,DispatchQueue.swift:35 if qosClass == .Unspecified {DispatchQueueConstants.swift:47 self = .UnspecifiedDispatchQueueConstants.swift:54 case .Unspecified:DispatchQueueConstants.swift:99 case .Unspecified:0028 case UserInitiated
DispatchQueueConstants.swift:56 case .UserInteractive:DispatchQueueConstants.swift:89 case .UserInteractive:0029 case Default
DispatchQueueConstants.swift:38 self = .UserInitiatedDispatchQueueConstants.swift:58 case .UserInitiated:DispatchQueueConstants.swift:91 case .UserInitiated:0030 case Utility
DispatchQueueConstants.swift:44 self = .DefaultDispatchQueueConstants.swift:60 case .Default:DispatchQueueConstants.swift:97 case .Default:0031 case Background
DispatchQueueConstants.swift:40 self = .UtilityDispatchQueueConstants.swift:62 case .Utility:DispatchQueueConstants.swift:93 case .Utility:0032 0033 // Performs mapping as specified in the documentation. 0034 public init(priority: DispatchQueuePriority) { 0035 if #available(iOS 8.0, *) { 0036 switch priority { 0037 case .High: 0038 self = .UserInitiated 0039 case .Low: 0040 self = .Utility 0041 case .Background: 0042 self = .Background 0043 case .Default: 0044 self = .Default 0045 } 0046 } else { 0047 self = .Unspecified 0048 } 0049 } 0050 0051 @available(iOS 8.0, *) 0052 public var rawClass
DispatchQueueConstants.swift:42 self = .BackgroundDispatchQueueConstants.swift:64 case .Background:DispatchQueueConstants.swift:95 case .Background:: qos_class_t { 0053 switch self { 0054 case .Unspecified: 0055 return QOS_CLASS_UNSPECIFIED 0056 case .UserInteractive: 0057 return QOS_CLASS_USER_INTERACTIVE 0058 case .UserInitiated: 0059 return QOS_CLASS_USER_INITIATED 0060 case .Default: 0061 return QOS_CLASS_DEFAULT 0062 case .Utility: 0063 return QOS_CLASS_UTILITY 0064 case .Background: 0065 return QOS_CLASS_BACKGROUND 0066 } 0067 } 0068 0069 public var rawValue
DispatchQueue.swift:45 attr.rawValue, qosClass.rawClass, Int32(relativePriority)),DispatchQueueConstants.swift:71 return Int(rawClass.rawValue): Int { 0070 if #available(iOS 8.0, *) { 0071 return Int(rawClass.rawValue) 0072 } else { 0073 return 0 0074 } 0075 } 0076 0077 } 0078 0079 public enum DispatchQueuePriority
Dispatch.swift:31 identifier = qosClass.rawValue{ 0080 0081 case High
Dispatch.swift:24 public static func getGlobalQueue(priority priority: DispatchQueuePriority, flags: Int = 0) -> DispatchQueue {Dispatch.swift:33 identifier = DispatchQueuePriority(qosClass: qosClass).rawValueDispatchQueue.swift:60 let priority = DispatchQueuePriority(qosClass: qosClass)DispatchQueueConstants.swift:34 public init(priority: DispatchQueuePriority) {0082 case Default
DispatchQueueConstants.swift:37 case .High:DispatchQueueConstants.swift:90 self = .HighDispatchQueueConstants.swift:92 self = .HighDispatchQueueConstants.swift:106 case .High:0083 case Low
Dispatch.swift:21 return getGlobalQueue(priority: .Default)DispatchQueueConstants.swift:43 case .Default:DispatchQueueConstants.swift:98 self = .DefaultDispatchQueueConstants.swift:100 self = .DefaultDispatchQueueConstants.swift:108 case .Default:0084 case Background
DispatchQueueConstants.swift:39 case .Low:DispatchQueueConstants.swift:94 self = .LowDispatchQueueConstants.swift:110 case .Low:0085 0086 // Performs best possible, yet approximate mapping. 0087 public init
DispatchQueueConstants.swift:41 case .Background:DispatchQueueConstants.swift:96 self = .BackgroundDispatchQueueConstants.swift:112 case .Background:(qosClass: DispatchQOSClass) { 0088 switch qosClass { 0089 case .UserInteractive: 0090 self = .High 0091 case .UserInitiated: 0092 self = .High 0093 case .Utility: 0094 self = .Low 0095 case .Background: 0096 self = .Background 0097 case .Default: 0098 self = .Default 0099 case .Unspecified: 0100 self = .Default 0101 } 0102 } 0103 0104 public var rawValue
Dispatch.swift:33 identifier = DispatchQueuePriority(qosClass: qosClass).rawValueDispatchQueue.swift:60 let priority = DispatchQueuePriority(qosClass: qosClass): dispatch_queue_priority_t { 0105 switch self { 0106 case .High: 0107 return DISPATCH_QUEUE_PRIORITY_HIGH 0108 case .Default: 0109 return DISPATCH_QUEUE_PRIORITY_DEFAULT 0110 case .Low: 0111 return DISPATCH_QUEUE_PRIORITY_LOW 0112 case .Background: 0113 return DISPATCH_QUEUE_PRIORITY_BACKGROUND 0114 } 0115 } 0116 0117 } 0118
Dispatch.swift:25 return DispatchQueue(rawValue: dispatch_get_global_queue(priority.rawValue, UInt(flags)))Dispatch.swift:33 identifier = DispatchQueuePriority(qosClass: qosClass).rawValueDispatchQueue.swift:61 let target = dispatch_get_global_queue(priority.rawValue, 0)