Class MqttSession
public sealed class MqttSession : IDisposable
- Inheritance
-
MqttSession
- Implements
- Inherited Members
Constructors
MqttSession(MqttConnectPacket, IDictionary, MqttServerOptions, MqttServerEventContainer, MqttRetainedMessagesManager, MqttClientSessionsManager)
public MqttSession(MqttConnectPacket connectPacket, IDictionary items, MqttServerOptions serverOptions, MqttServerEventContainer eventContainer, MqttRetainedMessagesManager retainedMessagesManager, MqttClientSessionsManager clientSessionsManager)
Parameters
connectPacketMqttConnectPacketitemsIDictionaryserverOptionsMqttServerOptionseventContainerMqttServerEventContainerretainedMessagesManagerMqttRetainedMessagesManagerclientSessionsManagerMqttClientSessionsManager
Properties
CreatedTimestamp
public DateTime CreatedTimestamp { get; }
Property Value
DisconnectedTimestamp
public DateTime? DisconnectedTimestamp { get; set; }
Property Value
ExpiryInterval
public uint ExpiryInterval { get; }
Property Value
HasSubscribedTopics
public bool HasSubscribedTopics { get; }
Property Value
Id
public string Id { get; }
Property Value
IsPersistent
Session should persist if CleanSession was set to false (Mqtt3) or if SessionExpiryInterval != 0 (Mqtt5)
public bool IsPersistent { get; set; }
Property Value
Items
public IDictionary Items { get; }
Property Value
LatestConnectPacket
public MqttConnectPacket LatestConnectPacket { get; set; }
Property Value
PacketIdentifierProvider
public MqttPacketIdentifierProvider PacketIdentifierProvider { get; }
Property Value
PendingDataPacketsCount
public long PendingDataPacketsCount { get; }
Property Value
WillMessageSent
public bool WillMessageSent { get; set; }
Property Value
Methods
AcknowledgePublishPacket(ushort)
public MqttPublishPacket AcknowledgePublishPacket(ushort packetIdentifier)
Parameters
packetIdentifierushort
Returns
AddSubscribedTopic(string)
public void AddSubscribedTopic(string topic)
Parameters
topicstring
DeleteAsync()
public Task DeleteAsync()
Returns
DequeuePacketAsync(CancellationToken)
public Task<MqttPacketBusItem> DequeuePacketAsync(CancellationToken cancellationToken)
Parameters
cancellationTokenCancellationToken
Returns
Dispose()
public void Dispose()
EnqueueControlPacket(MqttPacketBusItem)
public void EnqueueControlPacket(MqttPacketBusItem packetBusItem)
Parameters
packetBusItemMqttPacketBusItem
EnqueueDataPacket(MqttPacketBusItem)
public EnqueueDataPacketResult EnqueueDataPacket(MqttPacketBusItem packetBusItem)
Parameters
packetBusItemMqttPacketBusItem
Returns
EnqueueHealthPacket(MqttPacketBusItem)
public void EnqueueHealthPacket(MqttPacketBusItem packetBusItem)
Parameters
packetBusItemMqttPacketBusItem
PeekAcknowledgePublishPacket(ushort)
public MqttPublishPacket PeekAcknowledgePublishPacket(ushort packetIdentifier)
Parameters
packetIdentifierushort
Returns
Recover()
public void Recover()
RemoveSubscribedTopic(string)
public void RemoveSubscribedTopic(string topic)
Parameters
topicstring
Subscribe(MqttSubscribePacket, CancellationToken)
public Task<SubscribeResult> Subscribe(MqttSubscribePacket subscribePacket, CancellationToken cancellationToken)
Parameters
subscribePacketMqttSubscribePacketcancellationTokenCancellationToken
Returns
TryCheckSubscriptions(string, ulong, MqttQualityOfServiceLevel, string, out CheckSubscriptionsResult)
public bool TryCheckSubscriptions(string topic, ulong topicHash, MqttQualityOfServiceLevel qualityOfServiceLevel, string senderId, out CheckSubscriptionsResult result)
Parameters
topicstringtopicHashulongqualityOfServiceLevelMqttQualityOfServiceLevelsenderIdstringresultCheckSubscriptionsResult
Returns
Unsubscribe(MqttUnsubscribePacket, CancellationToken)
public Task<UnsubscribeResult> Unsubscribe(MqttUnsubscribePacket unsubscribePacket, CancellationToken cancellationToken)
Parameters
unsubscribePacketMqttUnsubscribePacketcancellationTokenCancellationToken