Browse Source

Merge pull request #422 from ifit/client-cancel-task

Client cancel task
release/3.x.x
Christian 6 years ago
committed by GitHub
parent
commit
0367ad31f1
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 5 deletions
  1. +4
    -4
      Source/MQTTnet/Client/MqttClient.cs
  2. +5
    -1
      Source/MQTTnet/Server/MqttClientSession.cs

+ 4
- 4
Source/MQTTnet/Client/MqttClient.cs View File

@@ -183,10 +183,12 @@ namespace MQTTnet.Client


public void Dispose() public void Dispose()
{ {
_cancellationTokenSource?.Cancel (false);
_cancellationTokenSource?.Dispose(); _cancellationTokenSource?.Dispose();
_cancellationTokenSource = null; _cancellationTokenSource = null;


_adapter?.Dispose(); _adapter?.Dispose();
_adapter = null;
} }


private async Task<MqttConnAckPacket> AuthenticateAsync(MqttApplicationMessage willApplicationMessage, CancellationToken cancellationToken) private async Task<MqttConnAckPacket> AuthenticateAsync(MqttApplicationMessage willApplicationMessage, CancellationToken cancellationToken)
@@ -245,10 +247,7 @@ namespace MQTTnet.Client
} }
finally finally
{ {
_adapter?.Dispose();
_adapter = null;
_cancellationTokenSource?.Dispose();
_cancellationTokenSource = null;
Dispose ();
_cleanDisconnectInitiated = false; _cleanDisconnectInitiated = false;


_logger.Info("Disconnected."); _logger.Info("Disconnected.");
@@ -394,6 +393,7 @@ namespace MQTTnet.Client


if (exception is OperationCanceledException) if (exception is OperationCanceledException)
{ {
_logger.Verbose ("MQTT OperationCanceled exception while receiving packets.");
} }
else if (exception is MqttCommunicationException) else if (exception is MqttCommunicationException)
{ {


+ 5
- 1
Source/MQTTnet/Server/MqttClientSession.cs View File

@@ -138,7 +138,9 @@ namespace MQTTnet.Server


_cleanupHandle?.Dispose(); _cleanupHandle?.Dispose();
_cleanupHandle = null; _cleanupHandle = null;

_adapter = null;
_cancellationTokenSource?.Cancel(false);
_cancellationTokenSource?.Dispose(); _cancellationTokenSource?.Dispose();
_cancellationTokenSource = null; _cancellationTokenSource = null;
} }
@@ -290,7 +292,9 @@ namespace MQTTnet.Server
{ {
_pendingPacketsQueue?.Dispose(); _pendingPacketsQueue?.Dispose();


_cancellationTokenSource?.Cancel ();
_cancellationTokenSource?.Dispose(); _cancellationTokenSource?.Dispose();
_cancellationTokenSource = null;
} }


private void ProcessReceivedPacket(IMqttChannelAdapter adapter, MqttBasePacket packet, CancellationToken cancellationToken) private void ProcessReceivedPacket(IMqttChannelAdapter adapter, MqttBasePacket packet, CancellationToken cancellationToken)


Loading…
Cancel
Save