From 39bc70cbf08c6253145efd97a877b745db7f1da2 Mon Sep 17 00:00:00 2001 From: Andre Crabb Date: Thu, 20 Sep 2018 07:17:35 -0400 Subject: [PATCH 1/5] * Cancel the TokenSource when disposing or nulling it out for the MqttClient --- Source/MQTTnet/Client/MqttClient.cs | 8 ++++---- Source/MQTTnet/Server/MqttClientSession.cs | 4 +++- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/Source/MQTTnet/Client/MqttClient.cs b/Source/MQTTnet/Client/MqttClient.cs index ccedb5ae..bbe5ebd8 100644 --- a/Source/MQTTnet/Client/MqttClient.cs +++ b/Source/MQTTnet/Client/MqttClient.cs @@ -176,10 +176,12 @@ namespace MQTTnet.Client public void Dispose() { + _cancellationTokenSource?.Cancel (); _cancellationTokenSource?.Dispose(); _cancellationTokenSource = null; _adapter?.Dispose(); + _adapter = null; } private async Task AuthenticateAsync(MqttApplicationMessage willApplicationMessage, CancellationToken cancellationToken) @@ -238,10 +240,7 @@ namespace MQTTnet.Client } finally { - _adapter?.Dispose(); - _adapter = null; - _cancellationTokenSource?.Dispose(); - _cancellationTokenSource = null; + Dispose (); _cleanDisconnectInitiated = false; _logger.Info("Disconnected."); @@ -384,6 +383,7 @@ namespace MQTTnet.Client if (exception is OperationCanceledException) { + _logger.Info ("MQTT OperationCanceled exception while receiving packets."); } else if (exception is MqttCommunicationException) { diff --git a/Source/MQTTnet/Server/MqttClientSession.cs b/Source/MQTTnet/Server/MqttClientSession.cs index 429fdb45..b2bb96b3 100644 --- a/Source/MQTTnet/Server/MqttClientSession.cs +++ b/Source/MQTTnet/Server/MqttClientSession.cs @@ -125,7 +125,7 @@ namespace MQTTnet.Server } _adapter = null; - + _cancellationTokenSource?.Cancel (); _cancellationTokenSource?.Dispose(); _cancellationTokenSource = null; } @@ -240,7 +240,9 @@ namespace MQTTnet.Server { _pendingPacketsQueue?.Dispose(); + _cancellationTokenSource?.Cancel (); _cancellationTokenSource?.Dispose(); + _cancellationTokenSource = null; } private void ProcessReceivedPacket(IMqttChannelAdapter adapter, MqttBasePacket packet, CancellationToken cancellationToken) From b2e7a2e370ba28818b3bbdf2c36e8b3bbaf78c24 Mon Sep 17 00:00:00 2001 From: Andre Crabb Date: Fri, 21 Sep 2018 15:44:31 -0400 Subject: [PATCH 2/5] Change from logging `Info` to `Verbose` --- Source/MQTTnet/Client/MqttClient.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/MQTTnet/Client/MqttClient.cs b/Source/MQTTnet/Client/MqttClient.cs index bbe5ebd8..4d36ff6c 100644 --- a/Source/MQTTnet/Client/MqttClient.cs +++ b/Source/MQTTnet/Client/MqttClient.cs @@ -383,7 +383,7 @@ namespace MQTTnet.Client if (exception is OperationCanceledException) { - _logger.Info ("MQTT OperationCanceled exception while receiving packets."); + _logger.Verbose ("MQTT OperationCanceled exception while receiving packets."); } else if (exception is MqttCommunicationException) { From a272ed7daa2a0573195d36e4e20c7cceab9f899e Mon Sep 17 00:00:00 2001 From: Andre Crabb Date: Fri, 28 Sep 2018 11:00:18 -0400 Subject: [PATCH 3/5] * Change tabs to spaces. --- Source/MQTTnet/Client/MqttClient.cs | 4 ++-- Source/MQTTnet/Server/MqttClientSession.cs | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Source/MQTTnet/Client/MqttClient.cs b/Source/MQTTnet/Client/MqttClient.cs index 4d36ff6c..63683193 100644 --- a/Source/MQTTnet/Client/MqttClient.cs +++ b/Source/MQTTnet/Client/MqttClient.cs @@ -176,12 +176,12 @@ namespace MQTTnet.Client public void Dispose() { - _cancellationTokenSource?.Cancel (); + _cancellationTokenSource?.Cancel (); _cancellationTokenSource?.Dispose(); _cancellationTokenSource = null; _adapter?.Dispose(); - _adapter = null; + _adapter = null; } private async Task AuthenticateAsync(MqttApplicationMessage willApplicationMessage, CancellationToken cancellationToken) diff --git a/Source/MQTTnet/Server/MqttClientSession.cs b/Source/MQTTnet/Server/MqttClientSession.cs index b2bb96b3..95b15266 100644 --- a/Source/MQTTnet/Server/MqttClientSession.cs +++ b/Source/MQTTnet/Server/MqttClientSession.cs @@ -125,7 +125,7 @@ namespace MQTTnet.Server } _adapter = null; - _cancellationTokenSource?.Cancel (); + _cancellationTokenSource?.Cancel (); _cancellationTokenSource?.Dispose(); _cancellationTokenSource = null; } @@ -240,9 +240,9 @@ namespace MQTTnet.Server { _pendingPacketsQueue?.Dispose(); - _cancellationTokenSource?.Cancel (); + _cancellationTokenSource?.Cancel (); _cancellationTokenSource?.Dispose(); - _cancellationTokenSource = null; + _cancellationTokenSource = null; } private void ProcessReceivedPacket(IMqttChannelAdapter adapter, MqttBasePacket packet, CancellationToken cancellationToken) From 00df7c9b7be801f6a5ad15d2f17121504244de13 Mon Sep 17 00:00:00 2001 From: Andre Crabb Date: Fri, 28 Sep 2018 11:01:07 -0400 Subject: [PATCH 4/5] * More change tabs to spaces. --- Source/MQTTnet/Client/MqttClient.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/MQTTnet/Client/MqttClient.cs b/Source/MQTTnet/Client/MqttClient.cs index 63683193..4eb76d66 100644 --- a/Source/MQTTnet/Client/MqttClient.cs +++ b/Source/MQTTnet/Client/MqttClient.cs @@ -240,7 +240,7 @@ namespace MQTTnet.Client } finally { - Dispose (); + Dispose (); _cleanDisconnectInitiated = false; _logger.Info("Disconnected."); From 400c0f05adcb07b66c9f97b7a203a8b96ba6ce1b Mon Sep 17 00:00:00 2001 From: Andre Crabb Date: Fri, 28 Sep 2018 14:07:04 -0400 Subject: [PATCH 5/5] * Adds `false` param to Cancel call. --- Source/MQTTnet/Client/MqttClient.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/MQTTnet/Client/MqttClient.cs b/Source/MQTTnet/Client/MqttClient.cs index 4eb76d66..f7093eb1 100644 --- a/Source/MQTTnet/Client/MqttClient.cs +++ b/Source/MQTTnet/Client/MqttClient.cs @@ -176,7 +176,7 @@ namespace MQTTnet.Client public void Dispose() { - _cancellationTokenSource?.Cancel (); + _cancellationTokenSource?.Cancel (false); _cancellationTokenSource?.Dispose(); _cancellationTokenSource = null;