From 932aa1fd39115dc1a605509d1b732ca33b2f839a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Warin?= Date: Wed, 16 May 2018 11:46:09 +0200 Subject: [PATCH] Fixes chkr1011's refactoing and pass all tests --- .../MQTTnet.NetStandard/Server/MqttClientSessionsManager.cs | 6 ++++-- .../Server/MqttRetainedMessagesManager.cs | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/Frameworks/MQTTnet.NetStandard/Server/MqttClientSessionsManager.cs b/Frameworks/MQTTnet.NetStandard/Server/MqttClientSessionsManager.cs index b9ab0136..62a10ee1 100644 --- a/Frameworks/MQTTnet.NetStandard/Server/MqttClientSessionsManager.cs +++ b/Frameworks/MQTTnet.NetStandard/Server/MqttClientSessionsManager.cs @@ -136,9 +136,9 @@ namespace MQTTnet.Server return Task.FromResult((IList)result); } - public void StartDispatchApplicationMessage(MqttClientSession senderClientSession, MqttApplicationMessage applicationMessage) + public Task StartDispatchApplicationMessage(MqttClientSession senderClientSession, MqttApplicationMessage applicationMessage) { - Task.Run(() => DispatchApplicationMessageAsync(senderClientSession, applicationMessage)); + return DispatchApplicationMessageAsync(senderClientSession, applicationMessage); } public Task SubscribeAsync(string clientId, IList topicFilters) @@ -237,6 +237,7 @@ namespace MQTTnet.Server { try { + _logger.Verbose($"DispatchApplicationMessageAsync"); var interceptorContext = InterceptApplicationMessage(senderClientSession, applicationMessage); if (interceptorContext.CloseConnection) { @@ -257,6 +258,7 @@ namespace MQTTnet.Server foreach (var clientSession in _sessions.Values) { + _logger.Verbose($"DispatchApplicationMessageAsync for {clientSession.ClientId} "); clientSession.EnqueueApplicationMessage(applicationMessage); } } diff --git a/Frameworks/MQTTnet.NetStandard/Server/MqttRetainedMessagesManager.cs b/Frameworks/MQTTnet.NetStandard/Server/MqttRetainedMessagesManager.cs index f2ab9448..3ab53cbf 100644 --- a/Frameworks/MQTTnet.NetStandard/Server/MqttRetainedMessagesManager.cs +++ b/Frameworks/MQTTnet.NetStandard/Server/MqttRetainedMessagesManager.cs @@ -82,7 +82,7 @@ namespace MQTTnet.Server { var saveIsRequired = false; - if (applicationMessage.Payload?.Length > 0) + if (applicationMessage.Payload?.Length == 0) { saveIsRequired = _messages.TryRemove(applicationMessage.Topic, out _); _logger.Info("Client '{0}' cleared retained message for topic '{1}'.", clientId, applicationMessage.Topic);