15
15
import NIO
16
16
17
17
extension HTTPConnectionPool {
18
- struct Waiter {
19
- struct ID : Hashable {
20
- private let objectIdentifier : ObjectIdentifier
18
+ struct RequestID : Hashable {
19
+ private let objectIdentifier : ObjectIdentifier
21
20
22
- init ( _ request: HTTPScheduledRequest ) {
23
- self . objectIdentifier = ObjectIdentifier ( request)
24
- }
21
+ init ( _ request: HTTPScheduledRequest ) {
22
+ self . objectIdentifier = ObjectIdentifier ( request)
25
23
}
24
+ }
26
25
27
- var id : ID {
28
- ID ( self . request)
26
+ struct Waiter {
27
+ var requestID : RequestID {
28
+ RequestID ( self . request)
29
29
}
30
30
31
- var request : HTTPScheduledRequest {
32
- didSet {
33
- self . updateEventLoopRequirement ( )
31
+ var request : HTTPScheduledRequest
32
+
33
+ private var eventLoopRequirement : EventLoop ? {
34
+ switch self . request. eventLoopPreference. preference {
35
+ case . delegateAndChannel( on: let eventLoop) ,
36
+ . testOnly_exact( channelOn: let eventLoop, delegateOn: _) :
37
+ return eventLoop
38
+ case . delegate( on: _) ,
39
+ . indifferent:
40
+ return nil
34
41
}
35
42
}
36
43
37
- private var eventLoopRequirement : EventLoop ?
38
-
39
44
init ( request: HTTPScheduledRequest ) {
40
45
self . request = request
41
- self . updateEventLoopRequirement ( )
42
46
}
43
47
44
48
func canBeRun( on option: EventLoop ) -> Bool {
@@ -49,16 +53,5 @@ extension HTTPConnectionPool {
49
53
50
54
return requirement === option
51
55
}
52
-
53
- private mutating func updateEventLoopRequirement( ) {
54
- switch self . request. eventLoopPreference. preference {
55
- case . delegateAndChannel( on: let eventLoop) ,
56
- . testOnly_exact( channelOn: let eventLoop, delegateOn: _) :
57
- self . eventLoopRequirement = eventLoop
58
- case . delegate( on: _) ,
59
- . indifferent:
60
- self . eventLoopRequirement = nil
61
- }
62
- }
63
56
}
64
57
}
0 commit comments