Performance impact fix (#1661)

This commit is contained in:
Int32Overflow
2023-01-28 12:12:20 +01:00
committed by GitHub
parent c90ba7e061
commit 0234918f30
@@ -403,23 +403,23 @@ namespace MQTTnet.Server
CreateSubscriptionResult createSubscriptionResult, CreateSubscriptionResult createSubscriptionResult,
SubscribeResult subscribeResult) SubscribeResult subscribeResult)
{ {
for (var index = retainedMessages.Count - 1; index >= 0; index--)
{
var retainedMessage = retainedMessages[index];
if (retainedMessage == null)
{
continue;
}
if (createSubscriptionResult.Subscription.RetainHandling == MqttRetainHandling.DoNotSendOnSubscribe) if (createSubscriptionResult.Subscription.RetainHandling == MqttRetainHandling.DoNotSendOnSubscribe)
{ {
// This is a MQTT V5+ feature. // This is a MQTT V5+ feature.
continue; return;
} }
if (createSubscriptionResult.Subscription.RetainHandling == MqttRetainHandling.SendAtSubscribeIfNewSubscriptionOnly && !createSubscriptionResult.IsNewSubscription) if (createSubscriptionResult.Subscription.RetainHandling == MqttRetainHandling.SendAtSubscribeIfNewSubscriptionOnly && !createSubscriptionResult.IsNewSubscription)
{ {
// This is a MQTT V5+ feature. // This is a MQTT V5+ feature.
return;
}
for (var index = retainedMessages.Count - 1; index >= 0; index--)
{
var retainedMessage = retainedMessages[index];
if (retainedMessage == null)
{
continue; continue;
} }