mirror of
https://github.com/dotnet/MQTTnet.git
synced 2026-10-22 12:53:04 +08:00
Performance impact fix (#1661)
This commit is contained in:
@@ -403,6 +403,18 @@ namespace MQTTnet.Server
|
|||||||
CreateSubscriptionResult createSubscriptionResult,
|
CreateSubscriptionResult createSubscriptionResult,
|
||||||
SubscribeResult subscribeResult)
|
SubscribeResult subscribeResult)
|
||||||
{
|
{
|
||||||
|
if (createSubscriptionResult.Subscription.RetainHandling == MqttRetainHandling.DoNotSendOnSubscribe)
|
||||||
|
{
|
||||||
|
// This is a MQTT V5+ feature.
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (createSubscriptionResult.Subscription.RetainHandling == MqttRetainHandling.SendAtSubscribeIfNewSubscriptionOnly && !createSubscriptionResult.IsNewSubscription)
|
||||||
|
{
|
||||||
|
// This is a MQTT V5+ feature.
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
for (var index = retainedMessages.Count - 1; index >= 0; index--)
|
for (var index = retainedMessages.Count - 1; index >= 0; index--)
|
||||||
{
|
{
|
||||||
var retainedMessage = retainedMessages[index];
|
var retainedMessage = retainedMessages[index];
|
||||||
@@ -411,18 +423,6 @@ namespace MQTTnet.Server
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (createSubscriptionResult.Subscription.RetainHandling == MqttRetainHandling.DoNotSendOnSubscribe)
|
|
||||||
{
|
|
||||||
// This is a MQTT V5+ feature.
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (createSubscriptionResult.Subscription.RetainHandling == MqttRetainHandling.SendAtSubscribeIfNewSubscriptionOnly && !createSubscriptionResult.IsNewSubscription)
|
|
||||||
{
|
|
||||||
// This is a MQTT V5+ feature.
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (MqttTopicFilterComparer.Compare(retainedMessage.Topic, createSubscriptionResult.Subscription.Topic) != MqttTopicFilterCompareResult.IsMatch)
|
if (MqttTopicFilterComparer.Compare(retainedMessage.Topic, createSubscriptionResult.Subscription.Topic) != MqttTopicFilterCompareResult.IsMatch)
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
|
|||||||
Reference in New Issue
Block a user