@@ -36,6 +36,7 @@ @interface MQTTSessionManager()
36
36
@property (nonatomic ) NSInteger willQos;
37
37
@property (nonatomic ) BOOL willRetainFlag;
38
38
@property (strong , nonatomic ) NSString *clientId;
39
+ @property (strong , nonatomic ) NSRunLoop *runLoop;
39
40
@property (strong , nonatomic ) MQTTSSLSecurityPolicy *securityPolicy;
40
41
@property (strong , nonatomic ) NSArray *certificates;
41
42
@property (nonatomic ) MQTTProtocolVersion protocolLevel;
@@ -223,7 +224,8 @@ - (void)connectTo:(NSString *)host
223
224
withClientId: clientId
224
225
securityPolicy: securityPolicy
225
226
certificates: certificates
226
- protocolLevel: MQTTProtocolVersion311]; // use this level as default, keeps it backwards compatible
227
+ protocolLevel: MQTTProtocolVersion311 // use this level as default, keeps it backwards compatible
228
+ runLoop: [NSRunLoop currentRunLoop ]];
227
229
}
228
230
229
231
- (void )connectTo : (NSString *)host
@@ -242,7 +244,8 @@ - (void)connectTo:(NSString *)host
242
244
withClientId : (NSString *)clientId
243
245
securityPolicy : (MQTTSSLSecurityPolicy *)securityPolicy
244
246
certificates : (NSArray *)certificates
245
- protocolLevel : (MQTTProtocolVersion)protocolLevel {
247
+ protocolLevel : (MQTTProtocolVersion)protocolLevel
248
+ runLoop : (NSRunLoop *)runLoop {
246
249
DDLogVerbose (@" MQTTSessionManager connectTo:%@ " , host);
247
250
BOOL shouldReconnect = self.session != nil ;
248
251
if (!self.session ||
@@ -260,7 +263,8 @@ - (void)connectTo:(NSString *)host
260
263
willRetainFlag != self.willRetainFlag ||
261
264
![clientId isEqualToString: self .clientId] ||
262
265
securityPolicy != self.securityPolicy ||
263
- certificates != self.certificates ) {
266
+ certificates != self.certificates ||
267
+ runLoop != self.runLoop ) {
264
268
self.host = host;
265
269
self.port = (int )port;
266
270
self.tls = tls;
@@ -278,7 +282,8 @@ - (void)connectTo:(NSString *)host
278
282
self.securityPolicy = securityPolicy;
279
283
self.certificates = certificates;
280
284
self.protocolLevel = protocolLevel;
281
-
285
+ self.runLoop = runLoop;
286
+
282
287
self.session = [[MQTTSession alloc ] initWithClientId: clientId
283
288
userName: auth ? user : nil
284
289
password: auth ? pass : nil
@@ -290,7 +295,7 @@ - (void)connectTo:(NSString *)host
290
295
willQoS: willQos
291
296
willRetainFlag: willRetainFlag
292
297
protocolLevel: protocolLevel
293
- runLoop: [ NSRunLoop currentRunLoop ]
298
+ runLoop: runLoop
294
299
forMode: NSDefaultRunLoopMode
295
300
securityPolicy: securityPolicy
296
301
certificates: certificates];
0 commit comments