Files
MQTTnet/Source/MQTTnet/Server/Internal/MqttSubscription.cs
T
Christian 8b3b9d33de Add overloads for options builder (#1711)
* Add new overload for options builder

* Refactor code

* Update ReleaseNotes.md
2023-04-11 22:11:16 +02:00

50 lines
1.5 KiB
C#

// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
using MQTTnet.Protocol;
namespace MQTTnet.Server
{
public sealed class MqttSubscription
{
public MqttSubscription(
string topic,
bool noLocal,
MqttRetainHandling retainHandling,
bool retainAsPublished,
MqttQualityOfServiceLevel qualityOfServiceLevel,
uint identifier)
{
Topic = topic;
NoLocal = noLocal;
RetainHandling = retainHandling;
RetainAsPublished = retainAsPublished;
GrantedQualityOfServiceLevel = qualityOfServiceLevel;
Identifier = identifier;
MqttTopicHash.Calculate(Topic, out var hash, out var hashMask, out var hasWildcard);
TopicHash = hash;
TopicHashMask = hashMask;
TopicHasWildcard = hasWildcard;
}
public MqttQualityOfServiceLevel GrantedQualityOfServiceLevel { get; }
public uint Identifier { get; }
public bool NoLocal { get; }
public bool RetainAsPublished { get; }
public MqttRetainHandling RetainHandling { get; }
public string Topic { get; }
public ulong TopicHash { get; }
public ulong TopicHashMask { get; }
public bool TopicHasWildcard { get; }
}
}