File tree Expand file tree Collapse file tree 2 files changed +12
-9
lines changed Expand file tree Collapse file tree 2 files changed +12
-9
lines changed Original file line number Diff line number Diff line change @@ -411,9 +411,9 @@ public final class MQTTClient {
411411 }
412412
413413 var connectionParameters = ConnectionParameters ( )
414- var publishListeners = MQTTListeners < MQTTPublishInfo > ( )
415- var closeListeners = MQTTListeners < Void > ( )
416- var shutdownListeners = MQTTListeners < Void > ( )
414+ let publishListeners = MQTTListeners < MQTTPublishInfo > ( )
415+ let closeListeners = MQTTListeners < Void > ( )
416+ let shutdownListeners = MQTTListeners < Void > ( )
417417 private var _connection : MQTTConnection ?
418418 private var lock = NIOLock ( )
419419}
Original file line number Diff line number Diff line change 1414import NIO
1515import NIOConcurrencyHelpers
1616
17- class MQTTListeners < ReturnType> {
17+ final class MQTTListeners < ReturnType> {
1818 typealias Listener = ( Result < ReturnType , Error > ) -> Void
1919
2020 func notify( _ result: Result < ReturnType , Error > ) {
21- self . lock. withLock {
22- listeners. values. forEach { listener in
23- listener ( result)
24- }
21+ let listeners = self . lock. withLock {
22+ return self . listeners
23+ }
24+ listeners. values. forEach { listener in
25+ listener ( result)
2526 }
2627 }
2728
@@ -38,7 +39,9 @@ class MQTTListeners<ReturnType> {
3839 }
3940
4041 func removeAll( ) {
41- self . listeners = [ : ]
42+ self . lock. withLock {
43+ self . listeners = [ : ]
44+ }
4245 }
4346
4447 private let lock = NIOLock ( )
You can’t perform that action at this time.
0 commit comments