You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
|
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using uPLibrary.Networking.M2Mqtt.Managers;
|
|
|
|
|
using uPLibrary.Networking.M2Mqtt.Messages;
|
|
|
|
|
|
|
|
|
|
namespace uPLibrary.Networking.M2Mqtt.Session
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// MQTT Broker Session
|
|
|
|
|
/// </summary>
|
|
|
|
|
public class MqttBrokerSession : MqttSession
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Client related to the subscription
|
|
|
|
|
/// </summary>
|
|
|
|
|
public MqttClient Client { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Subscriptions for the client session
|
|
|
|
|
/// </summary>
|
|
|
|
|
public List<MqttSubscription> Subscriptions;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Outgoing messages to publish
|
|
|
|
|
/// </summary>
|
|
|
|
|
public Queue<MqttMsgPublish> OutgoingMessages;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Constructor
|
|
|
|
|
/// </summary>
|
|
|
|
|
public MqttBrokerSession()
|
|
|
|
|
: base()
|
|
|
|
|
{
|
|
|
|
|
this.Client = null;
|
|
|
|
|
this.Subscriptions = new List<MqttSubscription>();
|
|
|
|
|
this.OutgoingMessages = new Queue<MqttMsgPublish>();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public override void Clear()
|
|
|
|
|
{
|
|
|
|
|
base.Clear();
|
|
|
|
|
this.Client = null;
|
|
|
|
|
this.Subscriptions.Clear();
|
|
|
|
|
this.OutgoingMessages.Clear();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|