Table of Contents

Class MqttSession

Namespace
MQTTnet.Server
Assembly
MQTTnet.dll
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 MqttConnectPacket
items IDictionary
serverOptions MqttServerOptions
eventContainer MqttServerEventContainer
retainedMessagesManager MqttRetainedMessagesManager
clientSessionsManager MqttClientSessionsManager

Properties

CreatedTimestamp

public DateTime CreatedTimestamp { get; }

Property Value

DateTime

DisconnectedTimestamp

public DateTime? DisconnectedTimestamp { get; set; }

Property Value

DateTime?

ExpiryInterval

public uint ExpiryInterval { get; }

Property Value

uint

HasSubscribedTopics

public bool HasSubscribedTopics { get; }

Property Value

bool

Id

public string Id { get; }

Property Value

string

IsPersistent

Session should persist if CleanSession was set to false (Mqtt3) or if SessionExpiryInterval != 0 (Mqtt5)

public bool IsPersistent { get; set; }

Property Value

bool

Items

public IDictionary Items { get; }

Property Value

IDictionary

LatestConnectPacket

public MqttConnectPacket LatestConnectPacket { get; set; }

Property Value

MqttConnectPacket

PacketIdentifierProvider

public MqttPacketIdentifierProvider PacketIdentifierProvider { get; }

Property Value

MqttPacketIdentifierProvider

PendingDataPacketsCount

public long PendingDataPacketsCount { get; }

Property Value

long

WillMessageSent

public bool WillMessageSent { get; set; }

Property Value

bool

Methods

AcknowledgePublishPacket(ushort)

public MqttPublishPacket AcknowledgePublishPacket(ushort packetIdentifier)

Parameters

packetIdentifier ushort

Returns

MqttPublishPacket

AddSubscribedTopic(string)

public void AddSubscribedTopic(string topic)

Parameters

topic string

DeleteAsync()

public Task DeleteAsync()

Returns

Task

DequeuePacketAsync(CancellationToken)

public Task<MqttPacketBusItem> DequeuePacketAsync(CancellationToken cancellationToken)

Parameters

cancellationToken CancellationToken

Returns

Task<MqttPacketBusItem>

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

EnqueueDataPacketResult

EnqueueHealthPacket(MqttPacketBusItem)

public void EnqueueHealthPacket(MqttPacketBusItem packetBusItem)

Parameters

packetBusItem MqttPacketBusItem

PeekAcknowledgePublishPacket(ushort)

public MqttPublishPacket PeekAcknowledgePublishPacket(ushort packetIdentifier)

Parameters

packetIdentifier ushort

Returns

MqttPublishPacket

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 MqttSubscribePacket
cancellationToken CancellationToken

Returns

Task<SubscribeResult>

TryCheckSubscriptions(string, ulong, MqttQualityOfServiceLevel, string, out CheckSubscriptionsResult)

public bool TryCheckSubscriptions(string topic, ulong topicHash, MqttQualityOfServiceLevel qualityOfServiceLevel, string senderId, out CheckSubscriptionsResult result)

Parameters

topic string
topicHash ulong
qualityOfServiceLevel MqttQualityOfServiceLevel
senderId string
result CheckSubscriptionsResult

Returns

bool

Unsubscribe(MqttUnsubscribePacket, CancellationToken)

public Task<UnsubscribeResult> Unsubscribe(MqttUnsubscribePacket unsubscribePacket, CancellationToken cancellationToken)

Parameters

unsubscribePacket MqttUnsubscribePacket
cancellationToken CancellationToken

Returns

Task<UnsubscribeResult>