From 306bce5a58460c48f905f48f2c2844d3c37cc681 Mon Sep 17 00:00:00 2001 From: Christian Date: Sun, 27 Jun 2021 16:53:44 +0200 Subject: [PATCH] Refactor code. --- Source/MQTTnet/Client/MqttClient.cs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Source/MQTTnet/Client/MqttClient.cs b/Source/MQTTnet/Client/MqttClient.cs index f037d662..9dd7cb95 100644 --- a/Source/MQTTnet/Client/MqttClient.cs +++ b/Source/MQTTnet/Client/MqttClient.cs @@ -72,7 +72,9 @@ namespace MQTTnet.Client ThrowIfDisposed(); if (CompareExchangeConnectionStatus(MqttClientConnectionStatus.Connecting, MqttClientConnectionStatus.Disconnected) != MqttClientConnectionStatus.Disconnected) + { throw new InvalidOperationException("Not allowed to connect while connect/disconnect is pending."); + } MqttClientAuthenticateResult authenticateResult = null; @@ -734,8 +736,10 @@ namespace MQTTnet.Client async Task PublishAtLeastOnceAsync(MqttPublishPacket publishPacket, CancellationToken cancellationToken) { publishPacket.PacketIdentifier = _packetIdentifierProvider.GetNextPacketIdentifier(); - var response = await SendAndReceiveAsync(publishPacket, cancellationToken).ConfigureAwait(false); - return _adapter.PacketFormatterAdapter.DataConverter.CreateClientPublishResult(response); + + var pubAckPacket = await SendAndReceiveAsync(publishPacket, cancellationToken).ConfigureAwait(false); + + return _adapter.PacketFormatterAdapter.DataConverter.CreateClientPublishResult(pubAckPacket); } async Task PublishExactlyOnceAsync(MqttPublishPacket publishPacket, CancellationToken cancellationToken)