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
DispatchQueue.swift:29
                attr: DispatchQueueAttr = .Serial,
{ 0011 case Serial
DispatchQueue.swift:29
                attr: DispatchQueueAttr = .Serial,
DispatchQueueConstants.swift:16
        case .Serial:
0012 case Concurrent
DispatchQueueConstants.swift:18
        case .Concurrent:
0013 0014 public var rawValue
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 {
: 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
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) {
{ 0025 0026 case Unspecified
DispatchQueue.swift:30
                qosClass: DispatchQOSClass = .Unspecified,
DispatchQueue.swift:35
        if qosClass == .Unspecified {
DispatchQueueConstants.swift:47
            self = .Unspecified
DispatchQueueConstants.swift:54
        case .Unspecified:
DispatchQueueConstants.swift:99
        case .Unspecified:
0027 case UserInteractive
DispatchQueueConstants.swift:56
        case .UserInteractive:
DispatchQueueConstants.swift:89
        case .UserInteractive:
0028 case UserInitiated
DispatchQueueConstants.swift:38
                self = .UserInitiated
DispatchQueueConstants.swift:58
        case .UserInitiated:
DispatchQueueConstants.swift:91
        case .UserInitiated:
0029 case Default
DispatchQueueConstants.swift:44
                self = .Default
DispatchQueueConstants.swift:60
        case .Default:
DispatchQueueConstants.swift:97
        case .Default:
0030 case Utility
DispatchQueueConstants.swift:40
                self = .Utility
DispatchQueueConstants.swift:62
        case .Utility:
DispatchQueueConstants.swift:93
        case .Utility:
0031 case Background
DispatchQueueConstants.swift:42
                self = .Background
DispatchQueueConstants.swift:64
        case .Background:
DispatchQueueConstants.swift:95
        case .Background:
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
DispatchQueue.swift:45
                    attr.rawValue, qosClass.rawClass, Int32(relativePriority)),
DispatchQueueConstants.swift:71
            return Int(rawClass.rawValue)
: 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
Dispatch.swift:31
            identifier = qosClass.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:24
    public static func getGlobalQueue(priority priority: DispatchQueuePriority, flags: Int = 0) -> DispatchQueue {
Dispatch.swift:33
            identifier = DispatchQueuePriority(qosClass: qosClass).rawValue
DispatchQueue.swift:60
            let priority = DispatchQueuePriority(qosClass: qosClass)
DispatchQueueConstants.swift:34
    public init(priority: DispatchQueuePriority) {
{ 0080 0081 case High
DispatchQueueConstants.swift:37
            case .High:
DispatchQueueConstants.swift:90
            self = .High
DispatchQueueConstants.swift:92
            self = .High
DispatchQueueConstants.swift:106
        case .High:
0082 case Default
Dispatch.swift:21
        return getGlobalQueue(priority: .Default)
DispatchQueueConstants.swift:43
            case .Default:
DispatchQueueConstants.swift:98
            self = .Default
DispatchQueueConstants.swift:100
            self = .Default
DispatchQueueConstants.swift:108
        case .Default:
0083 case Low
DispatchQueueConstants.swift:39
            case .Low:
DispatchQueueConstants.swift:94
            self = .Low
DispatchQueueConstants.swift:110
        case .Low:
0084 case Background
DispatchQueueConstants.swift:41
            case .Background:
DispatchQueueConstants.swift:96
            self = .Background
DispatchQueueConstants.swift:112
        case .Background:
0085 0086 // Performs best possible, yet approximate mapping. 0087 public init
Dispatch.swift:33
            identifier = DispatchQueuePriority(qosClass: qosClass).rawValue
DispatchQueue.swift:60
            let priority = DispatchQueuePriority(qosClass: qosClass)
(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:25
        return DispatchQueue(rawValue: dispatch_get_global_queue(priority.rawValue, UInt(flags)))
Dispatch.swift:33
            identifier = DispatchQueuePriority(qosClass: qosClass).rawValue
DispatchQueue.swift:61
            let target = dispatch_get_global_queue(priority.rawValue, 0)
: 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