mirror of
https://github.com/dotnet/MQTTnet.git
synced 2026-10-15 00:15:15 +08:00
* Make use of language features line AsyncDispose, init etc. * Fix build errors * Improve Unit Tests * Improve Unit Tests * Improve Unit Tests * Update samples * Remove obsolete benchmarks * Code cleanup * Improve unit tests * Improve Unit Tests * Fix Unit Tests * Improve Unit Tests * Improve Unit Tests * Restore unit tests * Exclude load tests from unit tests
49 lines
1.3 KiB
C#
49 lines
1.3 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.Internal;
|
|
|
|
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; }
|
|
} |