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
connectPacket
MqttConnectPacketitems
IDictionaryserverOptions
MqttServerOptionseventContainer
MqttServerEventContainerretainedMessagesManager
MqttRetainedMessagesManagerclientSessionsManager
MqttClientSessionsManager
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
packetIdentifier
ushort
Returns
AddSubscribedTopic(string)
public void AddSubscribedTopic(string topic)
Parameters
topic
string
DeleteAsync()
public Task DeleteAsync()
Returns
DequeuePacketAsync(CancellationToken)
public Task<MqttPacketBusItem> DequeuePacketAsync(CancellationToken cancellationToken)
Parameters
cancellationToken
CancellationToken
Returns
Dispose()
public void Dispose()
EnqueueControlPacket(MqttPacketBusItem)
public void EnqueueControlPacket(MqttPacketBusItem packetBusItem)
Parameters
packetBusItem
MqttPacketBusItem
EnqueueDataPacket(MqttPacketBusItem)
public EnqueueDataPacketResult EnqueueDataPacket(MqttPacketBusItem packetBusItem)
Parameters
packetBusItem
MqttPacketBusItem
Returns
EnqueueHealthPacket(MqttPacketBusItem)
public void EnqueueHealthPacket(MqttPacketBusItem packetBusItem)
Parameters
packetBusItem
MqttPacketBusItem
PeekAcknowledgePublishPacket(ushort)
public MqttPublishPacket PeekAcknowledgePublishPacket(ushort packetIdentifier)
Parameters
packetIdentifier
ushort
Returns
Recover()
public void Recover()
RemoveSubscribedTopic(string)
public void RemoveSubscribedTopic(string topic)
Parameters
topic
string
Subscribe(MqttSubscribePacket, CancellationToken)
public Task<SubscribeResult> Subscribe(MqttSubscribePacket subscribePacket, CancellationToken cancellationToken)
Parameters
subscribePacket
MqttSubscribePacketcancellationToken
CancellationToken
Returns
TryCheckSubscriptions(string, ulong, MqttQualityOfServiceLevel, string, out CheckSubscriptionsResult)
public bool TryCheckSubscriptions(string topic, ulong topicHash, MqttQualityOfServiceLevel qualityOfServiceLevel, string senderId, out CheckSubscriptionsResult result)
Parameters
topic
stringtopicHash
ulongqualityOfServiceLevel
MqttQualityOfServiceLevelsenderId
stringresult
CheckSubscriptionsResult
Returns
Unsubscribe(MqttUnsubscribePacket, CancellationToken)
public Task<UnsubscribeResult> Unsubscribe(MqttUnsubscribePacket unsubscribePacket, CancellationToken cancellationToken)
Parameters
unsubscribePacket
MqttUnsubscribePacketcancellationToken
CancellationToken