@@ -72,10 +72,9 @@ final class NTPConnection {
72
72
func start( _ callbackQueue: DispatchQueue , onComplete: @escaping NTPConnectionCallback ) {
73
73
lockQueue. async {
74
74
guard !self . started else { return }
75
- self . callbackPending = true
76
75
var ctx = CFSocketContext (
77
76
version: 0 ,
78
- info: UnsafeMutableRawPointer ( Unmanaged . passRetained ( self ) . toOpaque ( ) ) ,
77
+ info: UnsafeMutableRawPointer ( Unmanaged . passUnretained ( self ) . toOpaque ( ) ) ,
79
78
retain: nil ,
80
79
release: nil ,
81
80
copyDescription: nil
@@ -136,16 +135,13 @@ final class NTPConnection {
136
135
137
136
private let dataCallback : CFSocketCallBack = { socket, type, address, data, info in
138
137
guard let info = info else { return }
139
- let retainedClient = Unmanaged< NTPConnection> . fromOpaque( info)
140
- let client = retainedClient. takeUnretainedValue ( )
138
+ let client = Unmanaged < NTPConnection > . fromOpaque ( info) . takeUnretainedValue ( )
141
139
guard let socket = socket, CFSocketIsValid ( socket) else { return }
142
140
143
141
// Can't use switch here as these aren't defined as an enum.
144
142
if type == . dataCallBack {
145
143
let data = unsafeBitCast ( data, to: CFData . self) as Data
146
- client. callbackPending = false
147
144
client. handleResponse ( data)
148
- retainedClient. release ( )
149
145
} else if type == . writeCallBack {
150
146
client. debugLog ( " Buffer \( client. address) writable - requesting time " )
151
147
client. requestTime ( )
@@ -169,7 +165,6 @@ final class NTPConnection {
169
165
private var source : CFRunLoopSource ?
170
166
private var startTime : ntp_time_t ?
171
167
private var finished : Bool = false
172
- private var callbackPending : Bool = false
173
168
}
174
169
175
170
extension NTPConnection : TimedOperation {
@@ -201,10 +196,6 @@ private extension NTPConnection {
201
196
onComplete ( self , result)
202
197
}
203
198
}
204
- if callbackPending {
205
- callbackPending = false
206
- Unmanaged . passUnretained ( self ) . release ( )
207
- }
208
199
}
209
200
210
201
func requestTime( ) {
0 commit comments