Просмотр исходного кода

Merge pull request #476 from PaulFake/patch-1

Check for pending disconnect in ThrowIfNotConnected
release/3.x.x
Christian 6 лет назад
committed by GitHub
Родитель
Сommit
803dd6f64e
Не найден GPG ключ соответствующий данной подписи Идентификатор GPG ключа: 4AEE18F83AFDEB23
1 измененных файлов: 3 добавлений и 3 удалений
  1. +3
    -3
      Source/MQTTnet/Client/MqttClient.cs

+ 3
- 3
Source/MQTTnet/Client/MqttClient.cs Просмотреть файл

@@ -29,7 +29,7 @@ namespace MQTTnet.Client
internal Task _keepAliveMessageSenderTask;
private IMqttChannelAdapter _adapter;
private bool _cleanDisconnectInitiated;
private int _disconnectGate;
private long _disconnectGate;

public MqttClient(IMqttClientAdapterFactory channelFactory, IMqttNetLogger logger)
{
@@ -216,7 +216,7 @@ namespace MQTTnet.Client

private void ThrowIfNotConnected()
{
if (!IsConnected) throw new MqttCommunicationException("The client is not connected.");
if (!IsConnected || Interlocked.Read(ref _disconnectGate) == 1) throw new MqttCommunicationException("The client is not connected.");
}

private void ThrowIfConnected(string message)
@@ -551,4 +551,4 @@ namespace MQTTnet.Client
return Interlocked.CompareExchange(ref _disconnectGate, 1, 0) != 0;
}
}
}
}

Загрузка…
Отмена
Сохранить