diff --git a/LeatherProject/.vs/LeatherApp/FileContentIndex/07e21daf-c726-4ca3-b4c8-e4f14aaf5a14.vsidx b/LeatherProject/.vs/LeatherApp/FileContentIndex/07e21daf-c726-4ca3-b4c8-e4f14aaf5a14.vsidx new file mode 100644 index 0000000..4956fa2 Binary files /dev/null and b/LeatherProject/.vs/LeatherApp/FileContentIndex/07e21daf-c726-4ca3-b4c8-e4f14aaf5a14.vsidx differ diff --git a/LeatherProject/.vs/LeatherApp/FileContentIndex/cfe460ec-7498-4888-9be8-216a3eadd26a.vsidx b/LeatherProject/.vs/LeatherApp/FileContentIndex/cfe460ec-7498-4888-9be8-216a3eadd26a.vsidx deleted file mode 100644 index dfed760..0000000 Binary files a/LeatherProject/.vs/LeatherApp/FileContentIndex/cfe460ec-7498-4888-9be8-216a3eadd26a.vsidx and /dev/null differ diff --git a/LeatherProject/.vs/LeatherApp/FileContentIndex/d74d9791-89cb-43bd-8fc5-8bddf5011a0f.vsidx b/LeatherProject/.vs/LeatherApp/FileContentIndex/d74d9791-89cb-43bd-8fc5-8bddf5011a0f.vsidx deleted file mode 100644 index 6d7703f..0000000 Binary files a/LeatherProject/.vs/LeatherApp/FileContentIndex/d74d9791-89cb-43bd-8fc5-8bddf5011a0f.vsidx and /dev/null differ diff --git a/LeatherProject/.vs/LeatherApp/FileContentIndex/e745654d-37d9-46eb-9990-cbb096432a65.vsidx b/LeatherProject/.vs/LeatherApp/FileContentIndex/e745654d-37d9-46eb-9990-cbb096432a65.vsidx new file mode 100644 index 0000000..7ab83ef Binary files /dev/null and b/LeatherProject/.vs/LeatherApp/FileContentIndex/e745654d-37d9-46eb-9990-cbb096432a65.vsidx differ diff --git a/LeatherProject/LeatherApp/Config.cs b/LeatherProject/LeatherApp/Config.cs index 05238bc..a58b350 100644 --- a/LeatherProject/LeatherApp/Config.cs +++ b/LeatherProject/LeatherApp/Config.cs @@ -71,6 +71,24 @@ namespace LeatherApp //材质Material public static string[] SuedeList = new string[0]; + //云端 + public static string cloud_ip, cloud_username, cloud_password, CloudThisName; + public static int cloud_port, cloud_open; + + public static void LoadCloudConfig() + { + if (string.IsNullOrWhiteSpace(appBasePath)) + appBasePath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); + + IniFile ini = new IniFile(appBasePath + "\\CloudConfig.ini"); + + cloud_ip = ini.ReadString("Cloud", "cloud_ip", ""); + cloud_port = ini.ReadInt("Cloud", "cloud_port", 0); + cloud_open = ini.ReadInt("Cloud", "cloud_open", 0); + cloud_username = ini.ReadString("Cloud", "cloud_username", ""); + cloud_password = ini.ReadString("Cloud", "cloud_password", ""); + CloudThisName = ini.ReadString("Cloud", "CloudThisName", ""); + } public static void LoadAllConfig() { if (string.IsNullOrWhiteSpace(appBasePath)) diff --git a/LeatherProject/LeatherApp/Device/CloudMgr.cs b/LeatherProject/LeatherApp/Device/CloudMgr.cs new file mode 100644 index 0000000..2a54817 --- /dev/null +++ b/LeatherProject/LeatherApp/Device/CloudMgr.cs @@ -0,0 +1,158 @@ +using MQTTnet; +using MQTTnet.Client; +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading; +using System.Threading.Tasks; + +namespace LeatherApp.Device +{ + public class CloudlInfo + { + public string ProductKey = ""; + public string DeviceName = ""; + public string DeviceSecret = ""; + public string clientId = ""; + public string username = ""; + public string mqttHostUrl = ""; + public string passwd = ""; + public int port = 0; + } + + /// + /// 云端控制 + /// + public class CloudMgr + { + private IMqttClient mqttClient = null; + private CloudlInfo cloudlInfo = new CloudlInfo(); + /// + /// 连接服务器 + /// + /// + /// + public bool ConnectCloud(string ip, int port, string username, string password) + { + bool ret = true; + cloudlInfo.mqttHostUrl = ip; + cloudlInfo.port = port; + cloudlInfo.username = username; + cloudlInfo.passwd = password; + cloudlInfo.clientId = username; + //连接 + var option = new MqttClientOptions(); + option.ClientId = cloudlInfo.clientId; + + //设置服务器地址与端口 + option.ChannelOptions = new MqttClientTcpOptions() + { + Server = cloudlInfo.mqttHostUrl, + Port = cloudlInfo.port + }; + //设置账号与密码 + option.Credentials = new MqttClientCredentials(cloudlInfo.username, Encoding.Default.GetBytes(cloudlInfo.passwd)); + option.CleanSession = true; + + //保持期 + option.KeepAlivePeriod = TimeSpan.FromSeconds(100.5); + + //构建客户端对象 + mqttClient = new MqttFactory().CreateMqttClient() as MqttClient; + try + { + //绑定消息接收方法 + mqttClient.ApplicationMessageReceivedAsync += _client_ApplicationMessageReceived; + //绑定连接成功状态接收方法 + mqttClient.ConnectedAsync += _client_Connected; + //绑定连接断开状态接收方法 + mqttClient.DisconnectedAsync += _client_Disconnected; + + //启动连接 + mqttClient.ConnectAsync(option); + } + catch + { + Console.WriteLine($"{DateTime.Now.ToString("HH:mm:ss")} 连接失败"); + ret = false; + } + return ret; + } + /// + /// 客户端与服务端断开连接 + /// + /// + /// + private Task _client_Disconnected(MqttClientDisconnectedEventArgs e) + { + Console.WriteLine($"{DateTime.Now.ToString("HH:mm:ss")} Mqtt客户端连接断开"); + + if (mqttClient == null || mqttClient.IsConnected == false) + { + Thread.Sleep(25 * 1000); + Console.WriteLine($"{DateTime.Now.ToString("HH:mm:ss")} Mqtt客户端重连..."); + mqttClient.ReconnectAsync(); + Thread.Sleep(5 * 1000); + } + if (mqttClient.IsConnected) + Console.WriteLine($"{DateTime.Now.ToString("HH:mm:ss")} Mqtt客户端重连成功"); + + return Task.CompletedTask; + } + + /// + /// 客户端与服务端建立连接 + /// + /// + /// + + private Task _client_Connected(MqttClientConnectedEventArgs e) + { + Console.WriteLine($"{DateTime.Now.ToString("HH:mm:ss")} Mqtt客户端连接成功."); + + return Task.CompletedTask; + } + + /// + /// 客户端收到消息 + /// + /// + /// + private Task _client_ApplicationMessageReceived(MqttApplicationMessageReceivedEventArgs e) + { + Console.WriteLine($"{DateTime.Now.ToString("HH:mm:ss")} Mqtt客户端收到消息:{e.ApplicationMessage}"); + return Task.CompletedTask; + } + + private class WarningInfo + { + public WarningEnum Warn; + public string WarningString; + } + /// + /// 发送topic信息 + /// + /// + /// + public bool SendTopic(string topic, string payload) + { + try + { + var applicationMessage = new MqttApplicationMessageBuilder() + .WithTopic(topic) + .WithPayload(payload) + .Build(); + Task task = mqttClient.PublishAsync(applicationMessage); + task.Wait(); + return true; + } + catch + { + //throw new Exception("云端连接错误"); + return false; + } + } + } +} diff --git a/LeatherProject/LeatherApp/FrmMain.cs b/LeatherProject/LeatherApp/FrmMain.cs index be24a43..657a0db 100644 --- a/LeatherProject/LeatherApp/FrmMain.cs +++ b/LeatherProject/LeatherApp/FrmMain.cs @@ -154,6 +154,7 @@ namespace LeatherApp Task.Run(() => { //ShowProcessForm(200);//等待动画 + Config.LoadCloudConfig(); Config.LoadAllConfig(); API.OutputDebugString(Config.DBConStr); Service.InitDB.initDB(Config.DBConStr); diff --git a/LeatherProject/LeatherApp/LeatherApp.csproj b/LeatherProject/LeatherApp/LeatherApp.csproj index 5899159..1a42c98 100644 --- a/LeatherProject/LeatherApp/LeatherApp.csproj +++ b/LeatherProject/LeatherApp/LeatherApp.csproj @@ -68,6 +68,9 @@ ..\packages\Irony.NetCore.1.0.11\lib\net461\Irony.dll + + ..\packages\MQTTnet.4.3.3.952\lib\net48\MQTTnet.dll + ..\..\DOC\皮革\C#\BasicDemo\bin\win64\MvCodeReaderSDK.Net.dll @@ -189,6 +192,7 @@ + diff --git a/LeatherProject/LeatherApp/Page/FHome.cs b/LeatherProject/LeatherApp/Page/FHome.cs index 7bcafb6..d9be7c8 100644 --- a/LeatherProject/LeatherApp/Page/FHome.cs +++ b/LeatherProject/LeatherApp/Page/FHome.cs @@ -53,6 +53,10 @@ namespace LeatherApp.Page private Hashtable htTask = new Hashtable();//默认单线程写入不用lock, 多线程安全同步读取用Synchronized //无产品编码时加载 FProductInfo frmProduct; + + //云端 + private CloudMgr cloudMgr = new CloudMgr(); + private bool init_Cloud; public FHome(FProductInfo frm) { InitializeComponent(); @@ -475,6 +479,15 @@ namespace LeatherApp.Page //})); //日志滚动 //lstLog.SelectedIndex = lstLog.Items.Count - 1; + + //开启云端 + if ((init_Cloud) && (level != WarningEnum.Normal)) + { + //上传报警状态和信息 + string statusStr = level == WarningEnum.Normal ? "正常" : level == WarningEnum.Low ? "警告" : "系统报警"; + cloudMgr.SendTopic("device/attributes", $"{{\"status\": \"{statusStr}\", \"alm\": \"{tag}-{msg}\", " + + $"\"name\": \"{Config.CloudThisName}\"}}"); + } } } catch (Exception ex) @@ -501,6 +514,29 @@ namespace LeatherApp.Page ucColorListDefect.initData(Config.defectItemList); this.lineChartDefect.SetOption(new UILineOption()); this.lineChartFaceWidth.SetOption(new UILineOption()); + + //判断是否连接云端 + if(Config.cloud_open >0) + { + AddTextEvent(DateTime.Now, "设备启动", $"连接云端"); + if (cloudMgr.ConnectCloud(Config.cloud_ip, Config.cloud_port, + Config.cloud_username, Config.cloud_password)) + { + init_Cloud = true; + AddTextEvent(DateTime.Now, "云端数据", $"开启云端连接"); + + //开启云端 + if (init_Cloud) + { + //上传报警状态和信息 + string statusStr = "正常" ; + cloudMgr.SendTopic("device/attributes", $"{{\"status\": \"{statusStr}\", \"alm\": \"系统运行-正常启动软件\", " + + $"\"name\": \"{Config.CloudThisName}\"}}"); + } + } + else + AddTextEvent(DateTime.Now, "云端数据", "云端连接失败!", WarningEnum.Low); + } } private void FHome_Shown(object sender, EventArgs e) { diff --git a/LeatherProject/LeatherApp/bin/Debug/CloudConfig.ini b/LeatherProject/LeatherApp/bin/Debug/CloudConfig.ini new file mode 100644 index 0000000..dc86243 --- /dev/null +++ b/LeatherProject/LeatherApp/bin/Debug/CloudConfig.ini @@ -0,0 +1,7 @@ +[Cloud] +cloud_ip=47.101.145.32 +cloud_port=1883 +cloud_username=2cd8254d-f97e-b307-33ee-2eee669f7ccb +cloud_password= +cloud_open=1 +CloudThisName=HeXin1# \ No newline at end of file diff --git a/LeatherProject/LeatherApp/bin/Debug/CloudConfig2.ini b/LeatherProject/LeatherApp/bin/Debug/CloudConfig2.ini new file mode 100644 index 0000000..04bdc3b --- /dev/null +++ b/LeatherProject/LeatherApp/bin/Debug/CloudConfig2.ini @@ -0,0 +1,7 @@ +[Cloud] +cloud_ip=47.101.145.32 +cloud_port=1883 +cloud_username=f2a031f7-9eff-192a-89cd-72932b80c966 +cloud_password= +cloud_open=1 +CloudThisName=HeXin2# \ No newline at end of file diff --git a/LeatherProject/LeatherApp/bin/Debug/MQTTnet.xml b/LeatherProject/LeatherApp/bin/Debug/MQTTnet.xml new file mode 100644 index 0000000..ff28656 --- /dev/null +++ b/LeatherProject/LeatherApp/bin/Debug/MQTTnet.xml @@ -0,0 +1,1771 @@ + + + + MQTTnet + + + + + Gets the authentication result. + MQTT 5.0.0+ feature. + + + + + Gets the result code. + MQTTv5 only. + + + + + Gets a value indicating whether a session was already available or not. + MQTTv5 only. + + + + + Gets a value indicating whether wildcards can be used in subscriptions at the current server. + MQTTv5 only. + + + + + Gets whether the server supports retained messages. + MQTTv5 only. + + + + + Gets the client identifier which was chosen by the server. + MQTTv5 only. + + + + + Gets the authentication method. + MQTTv5 only. + + + + + Gets the authentication data. + MQTTv5 only. + + + + + Gets the reason string. + MQTTv5 only. + + + + + Gets the maximum QoS which is supported by the server. + MQTTv5 only. + + + + + Gets the response information. + MQTTv5 only. + + + + + Gets the maximum value for a topic alias. 0 means not supported. + MQTTv5 only. + + + + + Gets an alternate server which should be used instead of the current one. + MQTTv5 only. + + + + + MQTTv5 only. + Gets the keep alive interval which was chosen by the server instead of the + keep alive interval from the client CONNECT packet. + A value of 0 indicates that the feature is not used. + + + + + Gets a value indicating whether the subscription identifiers are available or not. + MQTTv5 only. + + + + + Gets a value indicating whether the shared subscriptions are available or not. + MQTTv5 only. + + + + + Gets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTTv5 only. + + + + + Gets the authentication result. + MQTT 5.0.0+ feature. + + + + + Gets or sets the reason. + MQTT 5.0.0+ feature. + + + + + Gets or sets the reason code. + MQTT 5.0.0+ feature. + + + + + Gets or sets the reason string. + MQTT 5.0.0+ feature. + + + + + Gets or sets the session expiry interval. + MQTT 5.0.0+ feature. + + + + + Gets or sets the user properties. + MQTT 5.0.0+ feature. + + + + + This enum only contains values which are valid when a client sends the reason to the server. + + + + + Gets the reason code. + Hint: MQTT 5 feature only. + + + + + Gets the reason string. + Hint: MQTT 5 feature only. + + + + + Gets the authentication method. + Hint: MQTT 5 feature only. + + + + + Gets the authentication data. + Hint: MQTT 5 feature only. + + + + + Gets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + Hint: MQTT 5 feature only. + + + + + Gets or sets the reason code. + Hint: MQTT 5 feature only. + + + + + Gets or sets the reason string. + Hint: MQTT 5 feature only. + + + + + Gets or sets the authentication data. + Authentication data is binary information used to transmit multiple iterations of cryptographic secrets of protocol steps. + The content of the authentication data is highly dependent on the specific implementation of the authentication method. + Hint: MQTT 5 feature only. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + Hint: MQTT 5 feature only. + + + + + Can be a host string name or an object derived from WebRequest. + + + + + Usually the MQTT packets can be send partially. This is done by using multiple TCP packets + or WebSocket frames etc. Unfortunately not all brokers (like Amazon Web Services (AWS)) do support this feature and + will close the connection when receiving such packets. If such a service is used this flag must + be set to _false_. + + + + + Gets or sets the authentication data. + MQTT 5.0.0+ feature. + + + + + Gets or sets the authentication method. + MQTT 5.0.0+ feature. + + + + + Gets or sets a value indicating whether clean sessions are used or not. + When a client connects to a broker it can connect using either a non persistent connection (clean session) or a + persistent connection. + With a non persistent connection the broker doesn't store any subscription information or undelivered messages for + the client. + This mode is ideal when the client only publishes messages. + It can also connect as a durable client using a persistent connection. + In this mode, the broker will store subscription information, and undelivered messages for the client. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets the keep alive period. + The connection is normally left open by the client so that is can send and receive data at any time. + If no data flows over an open connection for a certain time period then the client will generate a PINGREQ and + expect to receive a PINGRESP from the broker. + This message exchange confirms that the connection is open and working. + This period is known as the keep alive period. + + + + + Gets or sets the maximum packet size. + MQTT 5.0.0+ feature. + + + + + Gets or sets the receive maximum. + This gives the maximum length of the receive messages. + MQTT 5.0.0+ feature. + + + + + Gets or sets the request problem information. + MQTT 5.0.0+ feature. + + + + + Gets or sets the request response information. + MQTT 5.0.0+ feature. + + + + + Gets or sets the session expiry interval. + The time after a session expires when it's not actively used. + MQTT 5.0.0+ feature. + + + + + Gets or sets whether an exception should be thrown when the server has sent a non success ACK packet. + + + + + Gets or sets the timeout which will be applied at socket level and internal operations. + The default value is the same as for sockets in .NET in general. + + + + + Gets or sets the topic alias maximum. + This gives the maximum length of the topic alias. + MQTT 5.0.0+ feature. + + + + + If set to true, the bridge will attempt to indicate to the remote broker that it is a bridge not an ordinary + client. + If successful, this means that loop detection will be more effective and that retained messages will be propagated + correctly. + + Not all brokers support this feature so it may be necessary to set it to false if your bridge does not + connect properly. + + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + When this feature is enabled the client will check if used properties are supported in the selected protocol + version. + This feature can be validated if an application message is generated one time but sent via different protocol + versions. + Default values are applied if the validation is off and features are not supported. + + + + + Gets or sets the content type of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the correlation data of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the will delay interval. + This is the time between the client disconnect and the time the will message will be sent. + MQTT 5.0.0+ feature. + + + + + Gets or sets the message expiry interval of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the payload of the will message. + + + + + Gets or sets the payload format indicator of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the QoS level of the will message. + + + + + Gets or sets the response topic of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the retain flag of the will message. + + + + + Gets or sets the topic of the will message. + + + + + Gets or sets the user properties of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the default and initial size of the packet write buffer. + It is recommended to set this to a value close to the usual expected packet size * 1.5. + Do not change this value when no memory issues are experienced. + + + + + Gets or sets the maximum size of the buffer writer. The writer will reduce its internal buffer + to this value after serializing a packet. + Do not change this value when no memory issues are experienced. + + + + + Clean session is used in MQTT versions below 5.0.0. It is the same as setting "CleanStart". + + + + + Clean start is used in MQTT versions 5.0.0 and higher. It is the same as setting "CleanSession". + + + + + Usually the MQTT packets can be send partially. This is done by using multiple TCP packets + or WebSocket frames etc. Unfortunately not all brokers (like Amazon Web Services (AWS)) do support this feature and + will close the connection when receiving such packets. If such a service is used this flag must + be set to _true_. + + + + + The client will not throw an exception when the MQTT server responses with a non success ACK packet. + This will become the default behavior in future versions of the library. + + + + + Sets the timeout which will be applied at socket level and internal operations. + The default value is the same as for sockets in .NET in general. + + + + + If set to true, the bridge will attempt to indicate to the remote broker that it is a bridge not an ordinary + client. + If successful, this means that loop detection will be more effective and that retained messages will be propagated + correctly. + Not all brokers support this feature so it may be necessary to set it to false if your bridge does not connect + properly. + + + + + Gets the local endpoint (network card) which is used by the client. + Set it to _null_ to let the OS select the network card. + + + + + Gets or sets whether the underlying socket should run in dual mode. + Leaving this _null_ will avoid setting this value at socket level. + Setting this a value other than _null_ will throw an exception when only IPv4 is supported on the machine. + + + + + Gets or sets the provider for certificates. + This provider gets called whenever the client wants to connect + with the server and requires certificates for authentication. + The implementation may return different certificates each time. + + + + + Gets or sets the target host. + If the value is null or empty the same host as the TCP socket host will be used. + + + + + Gets or sets the keep alive interval for the Web Socket connection. + This is not related to the keep alive interval for the MQTT protocol. + + + + + Gets or sets whether the default (system) credentials should be used when connecting via Web Socket connection. + This is not related to the credentials which are used for the MQTT protocol. + + + + + Returns if the overall status of the publish is a success. This can be the reason code _Success_ or + _NoMatchingSubscribers_. _NoMatchingSubscribers_ usually indicates only that no other client is interested in the + topic but overall transmit + to the server etc. was a success. + + + + + Gets the packet identifier which was used for this publish. + + + + + Gets or sets the reason code. + MQTT 5.0.0+ feature. + + + + + Gets or sets the reason string. + MQTT 5.0.0+ feature. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Gets or sets whether the library should send MQTT ACK packets automatically if required. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets whether this message was handled. + This value can be used in user code for custom control flow. + + + + + Gets the identifier of the MQTT packet + + + + + Indicates if the processing of this PUBLISH packet has failed. + If the processing has failed the client will not send an ACK packet etc. + + + + + Gets or sets the reason code which will be sent to the server. + + + + + Gets or sets the reason string which will be sent to the server in the ACK packet. + + + + + Gets or sets the user properties which will be sent to the server in the ACK packet etc. + + + + + Gets or sets the subscription identifier. + The client can specify a subscription identifier when subscribing. + The broker will establish and store the mapping relationship between this subscription and subscription identifier + when successfully create or modify subscription. + The broker will return the subscription identifier associated with this PUBLISH packet and the PUBLISH packet to + the client when need to forward PUBLISH packets matching this subscription to this client. + MQTT 5.0.0+ feature. + + + + + Gets or sets a list of topic filters the client wants to subscribe to. + Topic filters can include regular topics or wild cards. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Adds the user property to the subscribe options. + MQTT 5.0.0+ feature. + + + + + Gets the result for every topic filter item. + + + + + Gets the user properties which were part of the SUBACK packet. + MQTT 5.0.0+ feature. + + + + + Gets the reason string. + MQTT 5.0.0+ feature. + + + + + Gets the packet identifier which was used. + + + + + Gets or sets the topic filter. + The topic filter can contain topics and wildcards. + + + + + Gets or sets the result code. + MQTT 5.0.0+ feature. + + + + + Gets or sets a list of topic filters the client wants to unsubscribe from. + Topic filters can include regular topics or wild cards. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Adds the user property to the unsubscribe options. + MQTT 5.0.0+ feature. + + + + + Adds the user property to the unsubscribe options. + MQTT 5.0.0+ feature. + + + + + Gets the result for every topic filter item. + + + + + Gets the packet identifier which was used. + + + + + Gets the reason string. + MQTT 5.0.0+ feature. + + + + + Gets the user properties which were part of the UNSUBACK packet. + MQTT 5.0.0+ feature. + + + + + Gets or sets the result code. + MQTT 5.0.0+ feature. + + + + + Gets or sets the topic filter. + The topic filter can contain topics and wildcards. + + + + + This logger fires an event when a new message was published. + + + + + This logger does nothing with the messages. + + + + + This is a custom implementation of a memory stream which provides only MQTTnet relevant features. + The goal is to avoid lots of argument checks like in the original stream. The growth rule is the + same as for the original MemoryStream in .net. Also this implementation allows accessing the internal + buffer for all platforms and .net framework versions (which is not available at the regular MemoryStream). + + + + + Gets or sets the content type. + The content type must be a UTF-8 encoded string. The content type value identifies the kind of UTF-8 encoded + payload. + + + + + Gets or sets the correlation data. + In order for the sender to know what sent message the response refers to it can also send correlation data with the + published message. + Hint: MQTT 5 feature only. + + + + + If the DUP flag is set to 0, it indicates that this is the first occasion that the Client or Server has attempted + to send this MQTT PUBLISH Packet. + If the DUP flag is set to 1, it indicates that this might be re-delivery of an earlier attempt to send the Packet. + The DUP flag MUST be set to 1 by the Client or Server when it attempts to re-deliver a PUBLISH Packet + [MQTT-3.3.1.-1]. + The DUP flag MUST be set to 0 for all QoS 0 messages [MQTT-3.3.1-2]. + + + + + Gets or sets the message expiry interval. + A client can set the message expiry interval in seconds for each PUBLISH message individually. + This interval defines the period of time that the broker stores the PUBLISH message for any matching subscribers + that are not currently connected. + When no message expiry interval is set, the broker must store the message for matching subscribers indefinitely. + When the retained=true option is set on the PUBLISH message, this interval also defines how long a message is + retained on a topic. + Hint: MQTT 5 feature only. + + + + + Gets or sets the payload. + The payload is the data bytes sent via the MQTT protocol. + + + + + Get or set ArraySegment style of Payload. + + + + + Gets or sets the payload format indicator. + The payload format indicator is part of any MQTT packet that can contain a payload. The indicator is an optional + byte value. + A value of 0 indicates an “unspecified byte stream”. + A value of 1 indicates a "UTF-8 encoded payload". + If no payload format indicator is provided, the default value is 0. + Hint: MQTT 5 feature only. + + + + + Gets or sets the quality of service level. + The Quality of Service (QoS) level is an agreement between the sender of a message and the receiver of a message + that defines the guarantee of delivery for a specific message. + There are 3 QoS levels in MQTT: + - At most once (0): Message gets delivered no time, once or multiple times. + - At least once (1): Message gets delivered at least once (one time or more often). + - Exactly once (2): Message gets delivered exactly once (It's ensured that the message only comes once). + + + + + Gets or sets the response topic. + In MQTT 5 the ability to publish a response topic was added in the publish message which allows you to implement + the request/response pattern between clients that is common in web applications. + Hint: MQTT 5 feature only. + + + + + Gets or sets a value indicating whether the message should be retained or not. + A retained message is a normal MQTT message with the retained flag set to true. + The broker stores the last retained message and the corresponding QoS for that topic. + + + + + Gets or sets the subscription identifiers. + The client can specify a subscription identifier when subscribing. + The broker will establish and store the mapping relationship between this subscription and subscription identifier + when successfully create or modify subscription. + The broker will return the subscription identifier associated with this PUBLISH packet and the PUBLISH packet to + the client when need to forward PUBLISH packets matching this subscription to this client. + Hint: MQTT 5 feature only. + + + + + Gets or sets the MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected + client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level + separator). + + + + + Gets or sets the topic alias. + Topic aliases were introduced are a mechanism for reducing the size of published packets by reducing the size of + the topic field. + A value of 0 indicates no topic alias is used. + Hint: MQTT 5 feature only. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + Hint: MQTT 5 feature only. + + + + + Adds the content type to the message. + MQTT 5.0.0+ feature. + + + + + Adds the correlation data to the message. + MQTT 5.0.0+ feature. + + + + + Adds the message expiry interval in seconds to the message. + MQTT 5.0.0+ feature. + + + + + Adds the payload format indicator to the message. + MQTT 5.0.0+ feature. + + + + + The quality of service level. + The Quality of Service (QoS) level is an agreement between the sender of a message and the receiver of a message + that defines the guarantee of delivery for a specific message. + There are 3 QoS levels in MQTT: + - At most once (0): Message gets delivered no time, once or multiple times. + - At least once (1): Message gets delivered at least once (one time or more often). + - Exactly once (2): Message gets delivered exactly once (It's ensured that the message only comes once). + + + + + Adds the response topic to the message. + MQTT 5.0.0+ feature. + + + + + A value indicating whether the message should be retained or not. + A retained message is a normal MQTT message with the retained flag set to true. + The broker stores the last retained message and the corresponding QoS for that topic. + + + + + Adds the subscription identifier to the message. + MQTT 5.0.0+ feature. + + + + + The MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected + client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level + separator). + + + + + Adds the topic alias to the message. + MQTT 5.0.0+ feature. + + + + + Adds the user property to the message. + MQTT 5.0.0+ feature. + + + + + The quality of service level. + The Quality of Service (QoS) level is an agreement between the sender of a message and the receiver of a message that defines the guarantee of delivery for a specific message. + There are 3 QoS levels in MQTT: + - At most once (0): Message gets delivered no time, once or multiple times. + - At least once (1): Message gets delivered at least once (one time or more often). + - Exactly once (2): Message gets delivered exactly once (It's ensured that the message only comes once). + + + + + The MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level separator). + + + + Added in MQTTv5.0.0. + + + + Added in MQTTv5. + + + + + Added in MQTTv3.1.1. + + + + + Added in MQTTv5. + + + + + Also called "Clean Start" in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Reason Code is used in MQTTv5.0.0 and backward compatible to v.3.1.1. Return Code is used in MQTTv3.1.1 + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + It is a Protocol Error if the Subscription Identifier has a value of 0. + + + + + Added in MQTTv5. + + + + + Gets or sets a value indicating whether the sender will not receive its own published application messages. + MQTT 5.0.0+ feature. + + + + + Gets or sets the quality of service level. + The Quality of Service (QoS) level is an agreement between the sender of a message and the receiver of a message + that defines the guarantee of delivery for a specific message. + There are 3 QoS levels in MQTT: + - At most once (0): Message gets delivered no time, once or multiple times. + - At least once (1): Message gets delivered at least once (one time or more often). + - Exactly once (2): Message gets delivered exactly once (It's ensured that the message only comes once). + + + + + Gets or sets a value indicating whether messages are retained as published or not. + MQTT 5.0.0+ feature. + + + + + Gets or sets the retain handling. + MQTT 5.0.0+ feature. + + + + + Gets or sets the MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected + client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level + separator). + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + The message is accepted but there are no subscribers. This is sent only by the Server. If the Server knows that there are no matching subscribers, it MAY use this Reason Code instead of 0x00 (Success). + + + + + The reason string is sent to every client via a DISCONNECT packet. + MQTT 5.0.0+ feature. + + + + + The server reference is sent to every client via a DISCONNECT packet. + MQTT 5.0.0+ feature. + + + + + These user properties are sent to every client via a DISCONNECT packet. + MQTT 5.0.0+ feature. + + + + + Gets the application message which was not consumed by any client. + + + + + Gets the ID of the client which has sent the affected application message. + + + + + Gets the packet which was used for acknowledge. This can be a PubAck or PubComp packet. + + + + + Gets the ID of the client which acknowledged a PUBLISH packet. + + + + + Gets whether the PUBLISH packet is fully acknowledged. This is the case for PUBACK (QoS 1) and PUBCOMP (QoS 2. + + + + + Gets the PUBLISH packet which was acknowledged. + + + + + Gets the session items which contain custom user data per session. + + + + + Gets the client identifier of the connected client. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets the endpoint of the connected client. + + + + + Gets the protocol version which is used by the connected client. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the user name of the connected client. + + + + + Gets the user properties sent by the client. + MQTT 5.0.0+ feature. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets the reason code sent by the client. + Only available for clean disconnects. + MQTT 5.0.0+ feature. + + + + + Gets the reason string sent by the client. + Only available for clean disconnects. + MQTT 5.0.0+ feature. + + + + + Gets the session expiry interval sent by the client. + Only available for clean disconnects. + MQTT 5.0.0+ feature. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the user properties sent by the client. + Only available for clean disconnects. + MQTT 5.0.0+ feature. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the topic filter. + The topic filter can contain topics and wildcards. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the topic filter. + The topic filter can contain topics and wildcards. + + + + + Gets or sets whether the enqueue of the application message should be performed or not. + If set to _False_ the client will not receive the application message. + + + + + Indicates if the connection with the sender should be closed. + + + + + Gets the cancellation token from the connection managing thread. + Use this in further event processing. + + + + + Gets the client ID which has sent the packet or will receive the packet. + + + + + Gets the endpoint of the sending or receiving client. + + + + + Gets or sets the MQTT packet which was received or will be sent. + + + + + Gets or sets whether the packet should be processed or not. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the cancellation token which can indicate that the client connection gets down. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets whether the publish should be processed internally. + + + + + Gets the response which will be sent to the client via the PUBACK etc. packets. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the cancellation token which can indicate that the client connection gets down. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets whether the broker should close the client connection. + + + + + Gets or sets whether the broker should create an internal subscription for the client. + The broker can also avoid this and return "success" to the client. + This feature allows using the MQTT Broker as the Frontend and another system as the backend. + + + + + Gets or sets the reason string which will be sent to the client in the SUBACK packet. + + + + + Gets the response which will be sent to the client via the SUBACK packet. + + + + + Gets the current client session. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the topic filter. + The topic filter can contain topics and wildcards. + + + + + Gets or sets the user properties. + MQTT 5.0.0+ feature. + + + + + Gets the cancellation token which can indicate that the client connection gets down. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets whether the broker should close the client connection. + + + + + Gets or sets whether the broker should remove an internal subscription for the client. + The broker can also avoid this and return "success" to the client. + This feature allows using the MQTT Broker as the Frontend and another system as the backend. + + + + + Gets the response which will be sent to the client via the UNSUBACK pocket. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected + client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level + separator). + + + + + Gets or sets the user properties. + MQTT 5.0.0+ feature. + + + + + Gets the will delay interval. + This is the time between the client disconnect and the time the will message will be sent. + + + + + Gets the ID of the session. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the assigned client identifier. + MQTTv5 only. + + + + + Gets or sets the authentication data. + MQTT 5.0.0+ feature. + + + + + Gets or sets the authentication method. + MQTT 5.0.0+ feature. + + + + + Gets the channel adapter. This can be a _MqttConnectionContext_ (used in ASP.NET), a _MqttChannelAdapter_ (used for + TCP or WebSockets) or a custom implementation. + + + + + Gets or sets a value indicating whether clean sessions are used or not. + When a client connects to a broker it can connect using either a non persistent connection (clean session) or a + persistent connection. + With a non persistent connection the broker doesn't store any subscription information or undelivered messages for + the client. + This mode is ideal when the client only publishes messages. + It can also connect as a durable client using a persistent connection. + In this mode, the broker will store subscription information, and undelivered messages for the client. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets the keep alive period. + The connection is normally left open by the client so that is can send and receive data at any time. + If no data flows over an open connection for a certain time period then the client will generate a PINGREQ and + expect to receive a PINGRESP from the broker. + This message exchange confirms that the connection is open and working. + This period is known as the keep alive period. + + + + + A value of 0 indicates that the value is not used. + + + + + Gets or sets the reason code. When a MQTTv3 client connects the enum value must be one which is + also supported in MQTTv3. Otherwise the connection attempt will fail because not all codes can be + converted properly. + MQTT 5.0.0+ feature. + + + + + Gets or sets the receive maximum. + This gives the maximum length of the receive messages. + A value of 0 indicates that the value is not used. + + + + + Gets the request problem information. + MQTT 5.0.0+ feature. + + + + + Gets the request response information. + MQTT 5.0.0+ feature. + + + + + Gets or sets the response authentication data. + MQTT 5.0.0+ feature. + + + + + Gets or sets the response user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Gets or sets the server reference. This can be used together with i.e. "Server Moved" to send + a different server address to the client. + MQTT 5.0.0+ feature. + + + + + Gets the session expiry interval. + The time after a session expires when it's not actively used. + A value of 0 means no expiation. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the topic alias maximum. + This gives the maximum length of the topic alias. + A value of 0 indicates that the value is not used. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Gets or sets the will delay interval. + This is the time between the client disconnect and the time the will message will be sent. + A value of 0 indicates that the value is not used. + + + + + Gets or sets the session items which should be used for all event handlers which are involved in message + processing. + If _null_ is specified the singleton session items from the server are used instead. + + + + + Timestamp of the last package that has been sent to the client ("received" from the client's perspective) + + + + + Timestamp of the last package that has been received from the client ("sent" from the client's perspective) + + + + + Session should persist if CleanSession was set to false (Mqtt3) or if SessionExpiryInterval != 0 (Mqtt5) + + + + + Helper class that stores subscriptions by their topic hash mask. + + + + + Gets or sets whether the server will accept new connections. + If not, the server will close the connection without any notification (DISCONNECT packet). + This feature can be used when the server is shutting down. + + + + + Gives access to the session items which belong to this server. This session items are passed + to several events instead of the client session items if the event is caused by the server instead of a client. + + + + + When this mode is enabled the MQTT server will not close a connection when the + client is currently sending a (large) payload. This may lead to "dead" connections + When this mode is disabled the MQTT server will disconnect a client when the keep + alive timeout is reached even if the client is currently sending a (large) payload. + + + + + Gets or sets the default and initial size of the packet write buffer. + It is recommended to set this to a value close to the usual expected packet size * 1.5. + Do not change this value when no memory issues are experienced. + + + + + Gets or sets the maximum size of the buffer writer. The writer will reduce its internal buffer + to this value after serializing a packet. + Do not change this value when no memory issues are experienced. + + + + + Usually the MQTT packets can be send partially to improve memory allocations. + This is done by using multiple TCP packets or WebSocket frames etc. + Unfortunately not all clients do support this and will close the connection when receiving partial packets. + + + + + Gets or sets whether the sockets keep alive feature should be used. + The value _null_ indicates that the OS and framework defaults should be used. + + + + + Usually the MQTT packets can be send partially. This is done by using multiple TCP packets + or WebSocket frames etc. Unfortunately not all clients do support this feature and + will close the connection when receiving such packets. If such clients are connecting to this + server the flag must be set to _false_. + + + + + Gets or sets the TCP keep alive interval. + The value _null_ indicates that the OS and framework defaults should be used. + + + + + Gets or sets the TCP keep alive retry count. + The value _null_ indicates that the OS and framework defaults should be used. + + + + + Gets or sets the TCP keep alive time. + The value _null_ indicates that the OS and framework defaults should be used. + + + + + This requires admin permissions on Linux. + + + + + Gets or sets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + These disconnect options are sent to every connected client via a DISCONNECT packet. + MQTT 5.0.0+ feature. + + + + + Gets or sets the reason code which is sent to the client. + The subscription is skipped when the value is not GrantedQoS_. + MQTTv5 only. + + + + + Gets or sets the reason code which is sent to the client. + MQTTv5 only. + + + + diff --git a/LeatherProject/LeatherApp/obj/Debug/LeatherApp.csproj.FileListAbsolute.txt b/LeatherProject/LeatherApp/obj/Debug/LeatherApp.csproj.FileListAbsolute.txt index 928530d..f6e33c0 100644 --- a/LeatherProject/LeatherApp/obj/Debug/LeatherApp.csproj.FileListAbsolute.txt +++ b/LeatherProject/LeatherApp/obj/Debug/LeatherApp.csproj.FileListAbsolute.txt @@ -247,3 +247,5 @@ E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\LeatherApp\o E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\LeatherApp\obj\Debug\LeatherApp.csproj.CopyComplete E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\LeatherApp\obj\Debug\革博士AI智能检测系统.exe E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\LeatherApp\obj\Debug\革博士AI智能检测系统.pdb +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\LeatherApp\bin\Debug\MQTTnet.dll +E:\CPL\迈沐智能项目\2023\革博士\源码\V1.0\LeatherProject\LeatherApp\bin\Debug\MQTTnet.xml diff --git a/LeatherProject/LeatherApp/packages.config b/LeatherProject/LeatherApp/packages.config index 3ce9971..76718c7 100644 --- a/LeatherProject/LeatherApp/packages.config +++ b/LeatherProject/LeatherApp/packages.config @@ -5,6 +5,7 @@ + diff --git a/LeatherProject/packages/MQTTnet.4.3.3.952/MQTTnet.4.3.3.952.nupkg b/LeatherProject/packages/MQTTnet.4.3.3.952/MQTTnet.4.3.3.952.nupkg new file mode 100644 index 0000000..0435931 Binary files /dev/null and b/LeatherProject/packages/MQTTnet.4.3.3.952/MQTTnet.4.3.3.952.nupkg differ diff --git a/LeatherProject/packages/MQTTnet.4.3.3.952/lib/net452/MQTTnet.xml b/LeatherProject/packages/MQTTnet.4.3.3.952/lib/net452/MQTTnet.xml new file mode 100644 index 0000000..ff28656 --- /dev/null +++ b/LeatherProject/packages/MQTTnet.4.3.3.952/lib/net452/MQTTnet.xml @@ -0,0 +1,1771 @@ + + + + MQTTnet + + + + + Gets the authentication result. + MQTT 5.0.0+ feature. + + + + + Gets the result code. + MQTTv5 only. + + + + + Gets a value indicating whether a session was already available or not. + MQTTv5 only. + + + + + Gets a value indicating whether wildcards can be used in subscriptions at the current server. + MQTTv5 only. + + + + + Gets whether the server supports retained messages. + MQTTv5 only. + + + + + Gets the client identifier which was chosen by the server. + MQTTv5 only. + + + + + Gets the authentication method. + MQTTv5 only. + + + + + Gets the authentication data. + MQTTv5 only. + + + + + Gets the reason string. + MQTTv5 only. + + + + + Gets the maximum QoS which is supported by the server. + MQTTv5 only. + + + + + Gets the response information. + MQTTv5 only. + + + + + Gets the maximum value for a topic alias. 0 means not supported. + MQTTv5 only. + + + + + Gets an alternate server which should be used instead of the current one. + MQTTv5 only. + + + + + MQTTv5 only. + Gets the keep alive interval which was chosen by the server instead of the + keep alive interval from the client CONNECT packet. + A value of 0 indicates that the feature is not used. + + + + + Gets a value indicating whether the subscription identifiers are available or not. + MQTTv5 only. + + + + + Gets a value indicating whether the shared subscriptions are available or not. + MQTTv5 only. + + + + + Gets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTTv5 only. + + + + + Gets the authentication result. + MQTT 5.0.0+ feature. + + + + + Gets or sets the reason. + MQTT 5.0.0+ feature. + + + + + Gets or sets the reason code. + MQTT 5.0.0+ feature. + + + + + Gets or sets the reason string. + MQTT 5.0.0+ feature. + + + + + Gets or sets the session expiry interval. + MQTT 5.0.0+ feature. + + + + + Gets or sets the user properties. + MQTT 5.0.0+ feature. + + + + + This enum only contains values which are valid when a client sends the reason to the server. + + + + + Gets the reason code. + Hint: MQTT 5 feature only. + + + + + Gets the reason string. + Hint: MQTT 5 feature only. + + + + + Gets the authentication method. + Hint: MQTT 5 feature only. + + + + + Gets the authentication data. + Hint: MQTT 5 feature only. + + + + + Gets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + Hint: MQTT 5 feature only. + + + + + Gets or sets the reason code. + Hint: MQTT 5 feature only. + + + + + Gets or sets the reason string. + Hint: MQTT 5 feature only. + + + + + Gets or sets the authentication data. + Authentication data is binary information used to transmit multiple iterations of cryptographic secrets of protocol steps. + The content of the authentication data is highly dependent on the specific implementation of the authentication method. + Hint: MQTT 5 feature only. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + Hint: MQTT 5 feature only. + + + + + Can be a host string name or an object derived from WebRequest. + + + + + Usually the MQTT packets can be send partially. This is done by using multiple TCP packets + or WebSocket frames etc. Unfortunately not all brokers (like Amazon Web Services (AWS)) do support this feature and + will close the connection when receiving such packets. If such a service is used this flag must + be set to _false_. + + + + + Gets or sets the authentication data. + MQTT 5.0.0+ feature. + + + + + Gets or sets the authentication method. + MQTT 5.0.0+ feature. + + + + + Gets or sets a value indicating whether clean sessions are used or not. + When a client connects to a broker it can connect using either a non persistent connection (clean session) or a + persistent connection. + With a non persistent connection the broker doesn't store any subscription information or undelivered messages for + the client. + This mode is ideal when the client only publishes messages. + It can also connect as a durable client using a persistent connection. + In this mode, the broker will store subscription information, and undelivered messages for the client. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets the keep alive period. + The connection is normally left open by the client so that is can send and receive data at any time. + If no data flows over an open connection for a certain time period then the client will generate a PINGREQ and + expect to receive a PINGRESP from the broker. + This message exchange confirms that the connection is open and working. + This period is known as the keep alive period. + + + + + Gets or sets the maximum packet size. + MQTT 5.0.0+ feature. + + + + + Gets or sets the receive maximum. + This gives the maximum length of the receive messages. + MQTT 5.0.0+ feature. + + + + + Gets or sets the request problem information. + MQTT 5.0.0+ feature. + + + + + Gets or sets the request response information. + MQTT 5.0.0+ feature. + + + + + Gets or sets the session expiry interval. + The time after a session expires when it's not actively used. + MQTT 5.0.0+ feature. + + + + + Gets or sets whether an exception should be thrown when the server has sent a non success ACK packet. + + + + + Gets or sets the timeout which will be applied at socket level and internal operations. + The default value is the same as for sockets in .NET in general. + + + + + Gets or sets the topic alias maximum. + This gives the maximum length of the topic alias. + MQTT 5.0.0+ feature. + + + + + If set to true, the bridge will attempt to indicate to the remote broker that it is a bridge not an ordinary + client. + If successful, this means that loop detection will be more effective and that retained messages will be propagated + correctly. + + Not all brokers support this feature so it may be necessary to set it to false if your bridge does not + connect properly. + + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + When this feature is enabled the client will check if used properties are supported in the selected protocol + version. + This feature can be validated if an application message is generated one time but sent via different protocol + versions. + Default values are applied if the validation is off and features are not supported. + + + + + Gets or sets the content type of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the correlation data of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the will delay interval. + This is the time between the client disconnect and the time the will message will be sent. + MQTT 5.0.0+ feature. + + + + + Gets or sets the message expiry interval of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the payload of the will message. + + + + + Gets or sets the payload format indicator of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the QoS level of the will message. + + + + + Gets or sets the response topic of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the retain flag of the will message. + + + + + Gets or sets the topic of the will message. + + + + + Gets or sets the user properties of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the default and initial size of the packet write buffer. + It is recommended to set this to a value close to the usual expected packet size * 1.5. + Do not change this value when no memory issues are experienced. + + + + + Gets or sets the maximum size of the buffer writer. The writer will reduce its internal buffer + to this value after serializing a packet. + Do not change this value when no memory issues are experienced. + + + + + Clean session is used in MQTT versions below 5.0.0. It is the same as setting "CleanStart". + + + + + Clean start is used in MQTT versions 5.0.0 and higher. It is the same as setting "CleanSession". + + + + + Usually the MQTT packets can be send partially. This is done by using multiple TCP packets + or WebSocket frames etc. Unfortunately not all brokers (like Amazon Web Services (AWS)) do support this feature and + will close the connection when receiving such packets. If such a service is used this flag must + be set to _true_. + + + + + The client will not throw an exception when the MQTT server responses with a non success ACK packet. + This will become the default behavior in future versions of the library. + + + + + Sets the timeout which will be applied at socket level and internal operations. + The default value is the same as for sockets in .NET in general. + + + + + If set to true, the bridge will attempt to indicate to the remote broker that it is a bridge not an ordinary + client. + If successful, this means that loop detection will be more effective and that retained messages will be propagated + correctly. + Not all brokers support this feature so it may be necessary to set it to false if your bridge does not connect + properly. + + + + + Gets the local endpoint (network card) which is used by the client. + Set it to _null_ to let the OS select the network card. + + + + + Gets or sets whether the underlying socket should run in dual mode. + Leaving this _null_ will avoid setting this value at socket level. + Setting this a value other than _null_ will throw an exception when only IPv4 is supported on the machine. + + + + + Gets or sets the provider for certificates. + This provider gets called whenever the client wants to connect + with the server and requires certificates for authentication. + The implementation may return different certificates each time. + + + + + Gets or sets the target host. + If the value is null or empty the same host as the TCP socket host will be used. + + + + + Gets or sets the keep alive interval for the Web Socket connection. + This is not related to the keep alive interval for the MQTT protocol. + + + + + Gets or sets whether the default (system) credentials should be used when connecting via Web Socket connection. + This is not related to the credentials which are used for the MQTT protocol. + + + + + Returns if the overall status of the publish is a success. This can be the reason code _Success_ or + _NoMatchingSubscribers_. _NoMatchingSubscribers_ usually indicates only that no other client is interested in the + topic but overall transmit + to the server etc. was a success. + + + + + Gets the packet identifier which was used for this publish. + + + + + Gets or sets the reason code. + MQTT 5.0.0+ feature. + + + + + Gets or sets the reason string. + MQTT 5.0.0+ feature. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Gets or sets whether the library should send MQTT ACK packets automatically if required. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets whether this message was handled. + This value can be used in user code for custom control flow. + + + + + Gets the identifier of the MQTT packet + + + + + Indicates if the processing of this PUBLISH packet has failed. + If the processing has failed the client will not send an ACK packet etc. + + + + + Gets or sets the reason code which will be sent to the server. + + + + + Gets or sets the reason string which will be sent to the server in the ACK packet. + + + + + Gets or sets the user properties which will be sent to the server in the ACK packet etc. + + + + + Gets or sets the subscription identifier. + The client can specify a subscription identifier when subscribing. + The broker will establish and store the mapping relationship between this subscription and subscription identifier + when successfully create or modify subscription. + The broker will return the subscription identifier associated with this PUBLISH packet and the PUBLISH packet to + the client when need to forward PUBLISH packets matching this subscription to this client. + MQTT 5.0.0+ feature. + + + + + Gets or sets a list of topic filters the client wants to subscribe to. + Topic filters can include regular topics or wild cards. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Adds the user property to the subscribe options. + MQTT 5.0.0+ feature. + + + + + Gets the result for every topic filter item. + + + + + Gets the user properties which were part of the SUBACK packet. + MQTT 5.0.0+ feature. + + + + + Gets the reason string. + MQTT 5.0.0+ feature. + + + + + Gets the packet identifier which was used. + + + + + Gets or sets the topic filter. + The topic filter can contain topics and wildcards. + + + + + Gets or sets the result code. + MQTT 5.0.0+ feature. + + + + + Gets or sets a list of topic filters the client wants to unsubscribe from. + Topic filters can include regular topics or wild cards. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Adds the user property to the unsubscribe options. + MQTT 5.0.0+ feature. + + + + + Adds the user property to the unsubscribe options. + MQTT 5.0.0+ feature. + + + + + Gets the result for every topic filter item. + + + + + Gets the packet identifier which was used. + + + + + Gets the reason string. + MQTT 5.0.0+ feature. + + + + + Gets the user properties which were part of the UNSUBACK packet. + MQTT 5.0.0+ feature. + + + + + Gets or sets the result code. + MQTT 5.0.0+ feature. + + + + + Gets or sets the topic filter. + The topic filter can contain topics and wildcards. + + + + + This logger fires an event when a new message was published. + + + + + This logger does nothing with the messages. + + + + + This is a custom implementation of a memory stream which provides only MQTTnet relevant features. + The goal is to avoid lots of argument checks like in the original stream. The growth rule is the + same as for the original MemoryStream in .net. Also this implementation allows accessing the internal + buffer for all platforms and .net framework versions (which is not available at the regular MemoryStream). + + + + + Gets or sets the content type. + The content type must be a UTF-8 encoded string. The content type value identifies the kind of UTF-8 encoded + payload. + + + + + Gets or sets the correlation data. + In order for the sender to know what sent message the response refers to it can also send correlation data with the + published message. + Hint: MQTT 5 feature only. + + + + + If the DUP flag is set to 0, it indicates that this is the first occasion that the Client or Server has attempted + to send this MQTT PUBLISH Packet. + If the DUP flag is set to 1, it indicates that this might be re-delivery of an earlier attempt to send the Packet. + The DUP flag MUST be set to 1 by the Client or Server when it attempts to re-deliver a PUBLISH Packet + [MQTT-3.3.1.-1]. + The DUP flag MUST be set to 0 for all QoS 0 messages [MQTT-3.3.1-2]. + + + + + Gets or sets the message expiry interval. + A client can set the message expiry interval in seconds for each PUBLISH message individually. + This interval defines the period of time that the broker stores the PUBLISH message for any matching subscribers + that are not currently connected. + When no message expiry interval is set, the broker must store the message for matching subscribers indefinitely. + When the retained=true option is set on the PUBLISH message, this interval also defines how long a message is + retained on a topic. + Hint: MQTT 5 feature only. + + + + + Gets or sets the payload. + The payload is the data bytes sent via the MQTT protocol. + + + + + Get or set ArraySegment style of Payload. + + + + + Gets or sets the payload format indicator. + The payload format indicator is part of any MQTT packet that can contain a payload. The indicator is an optional + byte value. + A value of 0 indicates an “unspecified byte stream”. + A value of 1 indicates a "UTF-8 encoded payload". + If no payload format indicator is provided, the default value is 0. + Hint: MQTT 5 feature only. + + + + + Gets or sets the quality of service level. + The Quality of Service (QoS) level is an agreement between the sender of a message and the receiver of a message + that defines the guarantee of delivery for a specific message. + There are 3 QoS levels in MQTT: + - At most once (0): Message gets delivered no time, once or multiple times. + - At least once (1): Message gets delivered at least once (one time or more often). + - Exactly once (2): Message gets delivered exactly once (It's ensured that the message only comes once). + + + + + Gets or sets the response topic. + In MQTT 5 the ability to publish a response topic was added in the publish message which allows you to implement + the request/response pattern between clients that is common in web applications. + Hint: MQTT 5 feature only. + + + + + Gets or sets a value indicating whether the message should be retained or not. + A retained message is a normal MQTT message with the retained flag set to true. + The broker stores the last retained message and the corresponding QoS for that topic. + + + + + Gets or sets the subscription identifiers. + The client can specify a subscription identifier when subscribing. + The broker will establish and store the mapping relationship between this subscription and subscription identifier + when successfully create or modify subscription. + The broker will return the subscription identifier associated with this PUBLISH packet and the PUBLISH packet to + the client when need to forward PUBLISH packets matching this subscription to this client. + Hint: MQTT 5 feature only. + + + + + Gets or sets the MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected + client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level + separator). + + + + + Gets or sets the topic alias. + Topic aliases were introduced are a mechanism for reducing the size of published packets by reducing the size of + the topic field. + A value of 0 indicates no topic alias is used. + Hint: MQTT 5 feature only. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + Hint: MQTT 5 feature only. + + + + + Adds the content type to the message. + MQTT 5.0.0+ feature. + + + + + Adds the correlation data to the message. + MQTT 5.0.0+ feature. + + + + + Adds the message expiry interval in seconds to the message. + MQTT 5.0.0+ feature. + + + + + Adds the payload format indicator to the message. + MQTT 5.0.0+ feature. + + + + + The quality of service level. + The Quality of Service (QoS) level is an agreement between the sender of a message and the receiver of a message + that defines the guarantee of delivery for a specific message. + There are 3 QoS levels in MQTT: + - At most once (0): Message gets delivered no time, once or multiple times. + - At least once (1): Message gets delivered at least once (one time or more often). + - Exactly once (2): Message gets delivered exactly once (It's ensured that the message only comes once). + + + + + Adds the response topic to the message. + MQTT 5.0.0+ feature. + + + + + A value indicating whether the message should be retained or not. + A retained message is a normal MQTT message with the retained flag set to true. + The broker stores the last retained message and the corresponding QoS for that topic. + + + + + Adds the subscription identifier to the message. + MQTT 5.0.0+ feature. + + + + + The MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected + client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level + separator). + + + + + Adds the topic alias to the message. + MQTT 5.0.0+ feature. + + + + + Adds the user property to the message. + MQTT 5.0.0+ feature. + + + + + The quality of service level. + The Quality of Service (QoS) level is an agreement between the sender of a message and the receiver of a message that defines the guarantee of delivery for a specific message. + There are 3 QoS levels in MQTT: + - At most once (0): Message gets delivered no time, once or multiple times. + - At least once (1): Message gets delivered at least once (one time or more often). + - Exactly once (2): Message gets delivered exactly once (It's ensured that the message only comes once). + + + + + The MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level separator). + + + + Added in MQTTv5.0.0. + + + + Added in MQTTv5. + + + + + Added in MQTTv3.1.1. + + + + + Added in MQTTv5. + + + + + Also called "Clean Start" in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Reason Code is used in MQTTv5.0.0 and backward compatible to v.3.1.1. Return Code is used in MQTTv3.1.1 + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + It is a Protocol Error if the Subscription Identifier has a value of 0. + + + + + Added in MQTTv5. + + + + + Gets or sets a value indicating whether the sender will not receive its own published application messages. + MQTT 5.0.0+ feature. + + + + + Gets or sets the quality of service level. + The Quality of Service (QoS) level is an agreement between the sender of a message and the receiver of a message + that defines the guarantee of delivery for a specific message. + There are 3 QoS levels in MQTT: + - At most once (0): Message gets delivered no time, once or multiple times. + - At least once (1): Message gets delivered at least once (one time or more often). + - Exactly once (2): Message gets delivered exactly once (It's ensured that the message only comes once). + + + + + Gets or sets a value indicating whether messages are retained as published or not. + MQTT 5.0.0+ feature. + + + + + Gets or sets the retain handling. + MQTT 5.0.0+ feature. + + + + + Gets or sets the MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected + client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level + separator). + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + The message is accepted but there are no subscribers. This is sent only by the Server. If the Server knows that there are no matching subscribers, it MAY use this Reason Code instead of 0x00 (Success). + + + + + The reason string is sent to every client via a DISCONNECT packet. + MQTT 5.0.0+ feature. + + + + + The server reference is sent to every client via a DISCONNECT packet. + MQTT 5.0.0+ feature. + + + + + These user properties are sent to every client via a DISCONNECT packet. + MQTT 5.0.0+ feature. + + + + + Gets the application message which was not consumed by any client. + + + + + Gets the ID of the client which has sent the affected application message. + + + + + Gets the packet which was used for acknowledge. This can be a PubAck or PubComp packet. + + + + + Gets the ID of the client which acknowledged a PUBLISH packet. + + + + + Gets whether the PUBLISH packet is fully acknowledged. This is the case for PUBACK (QoS 1) and PUBCOMP (QoS 2. + + + + + Gets the PUBLISH packet which was acknowledged. + + + + + Gets the session items which contain custom user data per session. + + + + + Gets the client identifier of the connected client. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets the endpoint of the connected client. + + + + + Gets the protocol version which is used by the connected client. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the user name of the connected client. + + + + + Gets the user properties sent by the client. + MQTT 5.0.0+ feature. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets the reason code sent by the client. + Only available for clean disconnects. + MQTT 5.0.0+ feature. + + + + + Gets the reason string sent by the client. + Only available for clean disconnects. + MQTT 5.0.0+ feature. + + + + + Gets the session expiry interval sent by the client. + Only available for clean disconnects. + MQTT 5.0.0+ feature. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the user properties sent by the client. + Only available for clean disconnects. + MQTT 5.0.0+ feature. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the topic filter. + The topic filter can contain topics and wildcards. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the topic filter. + The topic filter can contain topics and wildcards. + + + + + Gets or sets whether the enqueue of the application message should be performed or not. + If set to _False_ the client will not receive the application message. + + + + + Indicates if the connection with the sender should be closed. + + + + + Gets the cancellation token from the connection managing thread. + Use this in further event processing. + + + + + Gets the client ID which has sent the packet or will receive the packet. + + + + + Gets the endpoint of the sending or receiving client. + + + + + Gets or sets the MQTT packet which was received or will be sent. + + + + + Gets or sets whether the packet should be processed or not. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the cancellation token which can indicate that the client connection gets down. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets whether the publish should be processed internally. + + + + + Gets the response which will be sent to the client via the PUBACK etc. packets. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the cancellation token which can indicate that the client connection gets down. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets whether the broker should close the client connection. + + + + + Gets or sets whether the broker should create an internal subscription for the client. + The broker can also avoid this and return "success" to the client. + This feature allows using the MQTT Broker as the Frontend and another system as the backend. + + + + + Gets or sets the reason string which will be sent to the client in the SUBACK packet. + + + + + Gets the response which will be sent to the client via the SUBACK packet. + + + + + Gets the current client session. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the topic filter. + The topic filter can contain topics and wildcards. + + + + + Gets or sets the user properties. + MQTT 5.0.0+ feature. + + + + + Gets the cancellation token which can indicate that the client connection gets down. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets whether the broker should close the client connection. + + + + + Gets or sets whether the broker should remove an internal subscription for the client. + The broker can also avoid this and return "success" to the client. + This feature allows using the MQTT Broker as the Frontend and another system as the backend. + + + + + Gets the response which will be sent to the client via the UNSUBACK pocket. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected + client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level + separator). + + + + + Gets or sets the user properties. + MQTT 5.0.0+ feature. + + + + + Gets the will delay interval. + This is the time between the client disconnect and the time the will message will be sent. + + + + + Gets the ID of the session. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the assigned client identifier. + MQTTv5 only. + + + + + Gets or sets the authentication data. + MQTT 5.0.0+ feature. + + + + + Gets or sets the authentication method. + MQTT 5.0.0+ feature. + + + + + Gets the channel adapter. This can be a _MqttConnectionContext_ (used in ASP.NET), a _MqttChannelAdapter_ (used for + TCP or WebSockets) or a custom implementation. + + + + + Gets or sets a value indicating whether clean sessions are used or not. + When a client connects to a broker it can connect using either a non persistent connection (clean session) or a + persistent connection. + With a non persistent connection the broker doesn't store any subscription information or undelivered messages for + the client. + This mode is ideal when the client only publishes messages. + It can also connect as a durable client using a persistent connection. + In this mode, the broker will store subscription information, and undelivered messages for the client. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets the keep alive period. + The connection is normally left open by the client so that is can send and receive data at any time. + If no data flows over an open connection for a certain time period then the client will generate a PINGREQ and + expect to receive a PINGRESP from the broker. + This message exchange confirms that the connection is open and working. + This period is known as the keep alive period. + + + + + A value of 0 indicates that the value is not used. + + + + + Gets or sets the reason code. When a MQTTv3 client connects the enum value must be one which is + also supported in MQTTv3. Otherwise the connection attempt will fail because not all codes can be + converted properly. + MQTT 5.0.0+ feature. + + + + + Gets or sets the receive maximum. + This gives the maximum length of the receive messages. + A value of 0 indicates that the value is not used. + + + + + Gets the request problem information. + MQTT 5.0.0+ feature. + + + + + Gets the request response information. + MQTT 5.0.0+ feature. + + + + + Gets or sets the response authentication data. + MQTT 5.0.0+ feature. + + + + + Gets or sets the response user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Gets or sets the server reference. This can be used together with i.e. "Server Moved" to send + a different server address to the client. + MQTT 5.0.0+ feature. + + + + + Gets the session expiry interval. + The time after a session expires when it's not actively used. + A value of 0 means no expiation. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the topic alias maximum. + This gives the maximum length of the topic alias. + A value of 0 indicates that the value is not used. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Gets or sets the will delay interval. + This is the time between the client disconnect and the time the will message will be sent. + A value of 0 indicates that the value is not used. + + + + + Gets or sets the session items which should be used for all event handlers which are involved in message + processing. + If _null_ is specified the singleton session items from the server are used instead. + + + + + Timestamp of the last package that has been sent to the client ("received" from the client's perspective) + + + + + Timestamp of the last package that has been received from the client ("sent" from the client's perspective) + + + + + Session should persist if CleanSession was set to false (Mqtt3) or if SessionExpiryInterval != 0 (Mqtt5) + + + + + Helper class that stores subscriptions by their topic hash mask. + + + + + Gets or sets whether the server will accept new connections. + If not, the server will close the connection without any notification (DISCONNECT packet). + This feature can be used when the server is shutting down. + + + + + Gives access to the session items which belong to this server. This session items are passed + to several events instead of the client session items if the event is caused by the server instead of a client. + + + + + When this mode is enabled the MQTT server will not close a connection when the + client is currently sending a (large) payload. This may lead to "dead" connections + When this mode is disabled the MQTT server will disconnect a client when the keep + alive timeout is reached even if the client is currently sending a (large) payload. + + + + + Gets or sets the default and initial size of the packet write buffer. + It is recommended to set this to a value close to the usual expected packet size * 1.5. + Do not change this value when no memory issues are experienced. + + + + + Gets or sets the maximum size of the buffer writer. The writer will reduce its internal buffer + to this value after serializing a packet. + Do not change this value when no memory issues are experienced. + + + + + Usually the MQTT packets can be send partially to improve memory allocations. + This is done by using multiple TCP packets or WebSocket frames etc. + Unfortunately not all clients do support this and will close the connection when receiving partial packets. + + + + + Gets or sets whether the sockets keep alive feature should be used. + The value _null_ indicates that the OS and framework defaults should be used. + + + + + Usually the MQTT packets can be send partially. This is done by using multiple TCP packets + or WebSocket frames etc. Unfortunately not all clients do support this feature and + will close the connection when receiving such packets. If such clients are connecting to this + server the flag must be set to _false_. + + + + + Gets or sets the TCP keep alive interval. + The value _null_ indicates that the OS and framework defaults should be used. + + + + + Gets or sets the TCP keep alive retry count. + The value _null_ indicates that the OS and framework defaults should be used. + + + + + Gets or sets the TCP keep alive time. + The value _null_ indicates that the OS and framework defaults should be used. + + + + + This requires admin permissions on Linux. + + + + + Gets or sets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + These disconnect options are sent to every connected client via a DISCONNECT packet. + MQTT 5.0.0+ feature. + + + + + Gets or sets the reason code which is sent to the client. + The subscription is skipped when the value is not GrantedQoS_. + MQTTv5 only. + + + + + Gets or sets the reason code which is sent to the client. + MQTTv5 only. + + + + diff --git a/LeatherProject/packages/MQTTnet.4.3.3.952/lib/net461/MQTTnet.xml b/LeatherProject/packages/MQTTnet.4.3.3.952/lib/net461/MQTTnet.xml new file mode 100644 index 0000000..ff28656 --- /dev/null +++ b/LeatherProject/packages/MQTTnet.4.3.3.952/lib/net461/MQTTnet.xml @@ -0,0 +1,1771 @@ + + + + MQTTnet + + + + + Gets the authentication result. + MQTT 5.0.0+ feature. + + + + + Gets the result code. + MQTTv5 only. + + + + + Gets a value indicating whether a session was already available or not. + MQTTv5 only. + + + + + Gets a value indicating whether wildcards can be used in subscriptions at the current server. + MQTTv5 only. + + + + + Gets whether the server supports retained messages. + MQTTv5 only. + + + + + Gets the client identifier which was chosen by the server. + MQTTv5 only. + + + + + Gets the authentication method. + MQTTv5 only. + + + + + Gets the authentication data. + MQTTv5 only. + + + + + Gets the reason string. + MQTTv5 only. + + + + + Gets the maximum QoS which is supported by the server. + MQTTv5 only. + + + + + Gets the response information. + MQTTv5 only. + + + + + Gets the maximum value for a topic alias. 0 means not supported. + MQTTv5 only. + + + + + Gets an alternate server which should be used instead of the current one. + MQTTv5 only. + + + + + MQTTv5 only. + Gets the keep alive interval which was chosen by the server instead of the + keep alive interval from the client CONNECT packet. + A value of 0 indicates that the feature is not used. + + + + + Gets a value indicating whether the subscription identifiers are available or not. + MQTTv5 only. + + + + + Gets a value indicating whether the shared subscriptions are available or not. + MQTTv5 only. + + + + + Gets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTTv5 only. + + + + + Gets the authentication result. + MQTT 5.0.0+ feature. + + + + + Gets or sets the reason. + MQTT 5.0.0+ feature. + + + + + Gets or sets the reason code. + MQTT 5.0.0+ feature. + + + + + Gets or sets the reason string. + MQTT 5.0.0+ feature. + + + + + Gets or sets the session expiry interval. + MQTT 5.0.0+ feature. + + + + + Gets or sets the user properties. + MQTT 5.0.0+ feature. + + + + + This enum only contains values which are valid when a client sends the reason to the server. + + + + + Gets the reason code. + Hint: MQTT 5 feature only. + + + + + Gets the reason string. + Hint: MQTT 5 feature only. + + + + + Gets the authentication method. + Hint: MQTT 5 feature only. + + + + + Gets the authentication data. + Hint: MQTT 5 feature only. + + + + + Gets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + Hint: MQTT 5 feature only. + + + + + Gets or sets the reason code. + Hint: MQTT 5 feature only. + + + + + Gets or sets the reason string. + Hint: MQTT 5 feature only. + + + + + Gets or sets the authentication data. + Authentication data is binary information used to transmit multiple iterations of cryptographic secrets of protocol steps. + The content of the authentication data is highly dependent on the specific implementation of the authentication method. + Hint: MQTT 5 feature only. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + Hint: MQTT 5 feature only. + + + + + Can be a host string name or an object derived from WebRequest. + + + + + Usually the MQTT packets can be send partially. This is done by using multiple TCP packets + or WebSocket frames etc. Unfortunately not all brokers (like Amazon Web Services (AWS)) do support this feature and + will close the connection when receiving such packets. If such a service is used this flag must + be set to _false_. + + + + + Gets or sets the authentication data. + MQTT 5.0.0+ feature. + + + + + Gets or sets the authentication method. + MQTT 5.0.0+ feature. + + + + + Gets or sets a value indicating whether clean sessions are used or not. + When a client connects to a broker it can connect using either a non persistent connection (clean session) or a + persistent connection. + With a non persistent connection the broker doesn't store any subscription information or undelivered messages for + the client. + This mode is ideal when the client only publishes messages. + It can also connect as a durable client using a persistent connection. + In this mode, the broker will store subscription information, and undelivered messages for the client. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets the keep alive period. + The connection is normally left open by the client so that is can send and receive data at any time. + If no data flows over an open connection for a certain time period then the client will generate a PINGREQ and + expect to receive a PINGRESP from the broker. + This message exchange confirms that the connection is open and working. + This period is known as the keep alive period. + + + + + Gets or sets the maximum packet size. + MQTT 5.0.0+ feature. + + + + + Gets or sets the receive maximum. + This gives the maximum length of the receive messages. + MQTT 5.0.0+ feature. + + + + + Gets or sets the request problem information. + MQTT 5.0.0+ feature. + + + + + Gets or sets the request response information. + MQTT 5.0.0+ feature. + + + + + Gets or sets the session expiry interval. + The time after a session expires when it's not actively used. + MQTT 5.0.0+ feature. + + + + + Gets or sets whether an exception should be thrown when the server has sent a non success ACK packet. + + + + + Gets or sets the timeout which will be applied at socket level and internal operations. + The default value is the same as for sockets in .NET in general. + + + + + Gets or sets the topic alias maximum. + This gives the maximum length of the topic alias. + MQTT 5.0.0+ feature. + + + + + If set to true, the bridge will attempt to indicate to the remote broker that it is a bridge not an ordinary + client. + If successful, this means that loop detection will be more effective and that retained messages will be propagated + correctly. + + Not all brokers support this feature so it may be necessary to set it to false if your bridge does not + connect properly. + + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + When this feature is enabled the client will check if used properties are supported in the selected protocol + version. + This feature can be validated if an application message is generated one time but sent via different protocol + versions. + Default values are applied if the validation is off and features are not supported. + + + + + Gets or sets the content type of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the correlation data of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the will delay interval. + This is the time between the client disconnect and the time the will message will be sent. + MQTT 5.0.0+ feature. + + + + + Gets or sets the message expiry interval of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the payload of the will message. + + + + + Gets or sets the payload format indicator of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the QoS level of the will message. + + + + + Gets or sets the response topic of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the retain flag of the will message. + + + + + Gets or sets the topic of the will message. + + + + + Gets or sets the user properties of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the default and initial size of the packet write buffer. + It is recommended to set this to a value close to the usual expected packet size * 1.5. + Do not change this value when no memory issues are experienced. + + + + + Gets or sets the maximum size of the buffer writer. The writer will reduce its internal buffer + to this value after serializing a packet. + Do not change this value when no memory issues are experienced. + + + + + Clean session is used in MQTT versions below 5.0.0. It is the same as setting "CleanStart". + + + + + Clean start is used in MQTT versions 5.0.0 and higher. It is the same as setting "CleanSession". + + + + + Usually the MQTT packets can be send partially. This is done by using multiple TCP packets + or WebSocket frames etc. Unfortunately not all brokers (like Amazon Web Services (AWS)) do support this feature and + will close the connection when receiving such packets. If such a service is used this flag must + be set to _true_. + + + + + The client will not throw an exception when the MQTT server responses with a non success ACK packet. + This will become the default behavior in future versions of the library. + + + + + Sets the timeout which will be applied at socket level and internal operations. + The default value is the same as for sockets in .NET in general. + + + + + If set to true, the bridge will attempt to indicate to the remote broker that it is a bridge not an ordinary + client. + If successful, this means that loop detection will be more effective and that retained messages will be propagated + correctly. + Not all brokers support this feature so it may be necessary to set it to false if your bridge does not connect + properly. + + + + + Gets the local endpoint (network card) which is used by the client. + Set it to _null_ to let the OS select the network card. + + + + + Gets or sets whether the underlying socket should run in dual mode. + Leaving this _null_ will avoid setting this value at socket level. + Setting this a value other than _null_ will throw an exception when only IPv4 is supported on the machine. + + + + + Gets or sets the provider for certificates. + This provider gets called whenever the client wants to connect + with the server and requires certificates for authentication. + The implementation may return different certificates each time. + + + + + Gets or sets the target host. + If the value is null or empty the same host as the TCP socket host will be used. + + + + + Gets or sets the keep alive interval for the Web Socket connection. + This is not related to the keep alive interval for the MQTT protocol. + + + + + Gets or sets whether the default (system) credentials should be used when connecting via Web Socket connection. + This is not related to the credentials which are used for the MQTT protocol. + + + + + Returns if the overall status of the publish is a success. This can be the reason code _Success_ or + _NoMatchingSubscribers_. _NoMatchingSubscribers_ usually indicates only that no other client is interested in the + topic but overall transmit + to the server etc. was a success. + + + + + Gets the packet identifier which was used for this publish. + + + + + Gets or sets the reason code. + MQTT 5.0.0+ feature. + + + + + Gets or sets the reason string. + MQTT 5.0.0+ feature. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Gets or sets whether the library should send MQTT ACK packets automatically if required. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets whether this message was handled. + This value can be used in user code for custom control flow. + + + + + Gets the identifier of the MQTT packet + + + + + Indicates if the processing of this PUBLISH packet has failed. + If the processing has failed the client will not send an ACK packet etc. + + + + + Gets or sets the reason code which will be sent to the server. + + + + + Gets or sets the reason string which will be sent to the server in the ACK packet. + + + + + Gets or sets the user properties which will be sent to the server in the ACK packet etc. + + + + + Gets or sets the subscription identifier. + The client can specify a subscription identifier when subscribing. + The broker will establish and store the mapping relationship between this subscription and subscription identifier + when successfully create or modify subscription. + The broker will return the subscription identifier associated with this PUBLISH packet and the PUBLISH packet to + the client when need to forward PUBLISH packets matching this subscription to this client. + MQTT 5.0.0+ feature. + + + + + Gets or sets a list of topic filters the client wants to subscribe to. + Topic filters can include regular topics or wild cards. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Adds the user property to the subscribe options. + MQTT 5.0.0+ feature. + + + + + Gets the result for every topic filter item. + + + + + Gets the user properties which were part of the SUBACK packet. + MQTT 5.0.0+ feature. + + + + + Gets the reason string. + MQTT 5.0.0+ feature. + + + + + Gets the packet identifier which was used. + + + + + Gets or sets the topic filter. + The topic filter can contain topics and wildcards. + + + + + Gets or sets the result code. + MQTT 5.0.0+ feature. + + + + + Gets or sets a list of topic filters the client wants to unsubscribe from. + Topic filters can include regular topics or wild cards. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Adds the user property to the unsubscribe options. + MQTT 5.0.0+ feature. + + + + + Adds the user property to the unsubscribe options. + MQTT 5.0.0+ feature. + + + + + Gets the result for every topic filter item. + + + + + Gets the packet identifier which was used. + + + + + Gets the reason string. + MQTT 5.0.0+ feature. + + + + + Gets the user properties which were part of the UNSUBACK packet. + MQTT 5.0.0+ feature. + + + + + Gets or sets the result code. + MQTT 5.0.0+ feature. + + + + + Gets or sets the topic filter. + The topic filter can contain topics and wildcards. + + + + + This logger fires an event when a new message was published. + + + + + This logger does nothing with the messages. + + + + + This is a custom implementation of a memory stream which provides only MQTTnet relevant features. + The goal is to avoid lots of argument checks like in the original stream. The growth rule is the + same as for the original MemoryStream in .net. Also this implementation allows accessing the internal + buffer for all platforms and .net framework versions (which is not available at the regular MemoryStream). + + + + + Gets or sets the content type. + The content type must be a UTF-8 encoded string. The content type value identifies the kind of UTF-8 encoded + payload. + + + + + Gets or sets the correlation data. + In order for the sender to know what sent message the response refers to it can also send correlation data with the + published message. + Hint: MQTT 5 feature only. + + + + + If the DUP flag is set to 0, it indicates that this is the first occasion that the Client or Server has attempted + to send this MQTT PUBLISH Packet. + If the DUP flag is set to 1, it indicates that this might be re-delivery of an earlier attempt to send the Packet. + The DUP flag MUST be set to 1 by the Client or Server when it attempts to re-deliver a PUBLISH Packet + [MQTT-3.3.1.-1]. + The DUP flag MUST be set to 0 for all QoS 0 messages [MQTT-3.3.1-2]. + + + + + Gets or sets the message expiry interval. + A client can set the message expiry interval in seconds for each PUBLISH message individually. + This interval defines the period of time that the broker stores the PUBLISH message for any matching subscribers + that are not currently connected. + When no message expiry interval is set, the broker must store the message for matching subscribers indefinitely. + When the retained=true option is set on the PUBLISH message, this interval also defines how long a message is + retained on a topic. + Hint: MQTT 5 feature only. + + + + + Gets or sets the payload. + The payload is the data bytes sent via the MQTT protocol. + + + + + Get or set ArraySegment style of Payload. + + + + + Gets or sets the payload format indicator. + The payload format indicator is part of any MQTT packet that can contain a payload. The indicator is an optional + byte value. + A value of 0 indicates an “unspecified byte stream”. + A value of 1 indicates a "UTF-8 encoded payload". + If no payload format indicator is provided, the default value is 0. + Hint: MQTT 5 feature only. + + + + + Gets or sets the quality of service level. + The Quality of Service (QoS) level is an agreement between the sender of a message and the receiver of a message + that defines the guarantee of delivery for a specific message. + There are 3 QoS levels in MQTT: + - At most once (0): Message gets delivered no time, once or multiple times. + - At least once (1): Message gets delivered at least once (one time or more often). + - Exactly once (2): Message gets delivered exactly once (It's ensured that the message only comes once). + + + + + Gets or sets the response topic. + In MQTT 5 the ability to publish a response topic was added in the publish message which allows you to implement + the request/response pattern between clients that is common in web applications. + Hint: MQTT 5 feature only. + + + + + Gets or sets a value indicating whether the message should be retained or not. + A retained message is a normal MQTT message with the retained flag set to true. + The broker stores the last retained message and the corresponding QoS for that topic. + + + + + Gets or sets the subscription identifiers. + The client can specify a subscription identifier when subscribing. + The broker will establish and store the mapping relationship between this subscription and subscription identifier + when successfully create or modify subscription. + The broker will return the subscription identifier associated with this PUBLISH packet and the PUBLISH packet to + the client when need to forward PUBLISH packets matching this subscription to this client. + Hint: MQTT 5 feature only. + + + + + Gets or sets the MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected + client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level + separator). + + + + + Gets or sets the topic alias. + Topic aliases were introduced are a mechanism for reducing the size of published packets by reducing the size of + the topic field. + A value of 0 indicates no topic alias is used. + Hint: MQTT 5 feature only. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + Hint: MQTT 5 feature only. + + + + + Adds the content type to the message. + MQTT 5.0.0+ feature. + + + + + Adds the correlation data to the message. + MQTT 5.0.0+ feature. + + + + + Adds the message expiry interval in seconds to the message. + MQTT 5.0.0+ feature. + + + + + Adds the payload format indicator to the message. + MQTT 5.0.0+ feature. + + + + + The quality of service level. + The Quality of Service (QoS) level is an agreement between the sender of a message and the receiver of a message + that defines the guarantee of delivery for a specific message. + There are 3 QoS levels in MQTT: + - At most once (0): Message gets delivered no time, once or multiple times. + - At least once (1): Message gets delivered at least once (one time or more often). + - Exactly once (2): Message gets delivered exactly once (It's ensured that the message only comes once). + + + + + Adds the response topic to the message. + MQTT 5.0.0+ feature. + + + + + A value indicating whether the message should be retained or not. + A retained message is a normal MQTT message with the retained flag set to true. + The broker stores the last retained message and the corresponding QoS for that topic. + + + + + Adds the subscription identifier to the message. + MQTT 5.0.0+ feature. + + + + + The MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected + client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level + separator). + + + + + Adds the topic alias to the message. + MQTT 5.0.0+ feature. + + + + + Adds the user property to the message. + MQTT 5.0.0+ feature. + + + + + The quality of service level. + The Quality of Service (QoS) level is an agreement between the sender of a message and the receiver of a message that defines the guarantee of delivery for a specific message. + There are 3 QoS levels in MQTT: + - At most once (0): Message gets delivered no time, once or multiple times. + - At least once (1): Message gets delivered at least once (one time or more often). + - Exactly once (2): Message gets delivered exactly once (It's ensured that the message only comes once). + + + + + The MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level separator). + + + + Added in MQTTv5.0.0. + + + + Added in MQTTv5. + + + + + Added in MQTTv3.1.1. + + + + + Added in MQTTv5. + + + + + Also called "Clean Start" in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Reason Code is used in MQTTv5.0.0 and backward compatible to v.3.1.1. Return Code is used in MQTTv3.1.1 + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + It is a Protocol Error if the Subscription Identifier has a value of 0. + + + + + Added in MQTTv5. + + + + + Gets or sets a value indicating whether the sender will not receive its own published application messages. + MQTT 5.0.0+ feature. + + + + + Gets or sets the quality of service level. + The Quality of Service (QoS) level is an agreement between the sender of a message and the receiver of a message + that defines the guarantee of delivery for a specific message. + There are 3 QoS levels in MQTT: + - At most once (0): Message gets delivered no time, once or multiple times. + - At least once (1): Message gets delivered at least once (one time or more often). + - Exactly once (2): Message gets delivered exactly once (It's ensured that the message only comes once). + + + + + Gets or sets a value indicating whether messages are retained as published or not. + MQTT 5.0.0+ feature. + + + + + Gets or sets the retain handling. + MQTT 5.0.0+ feature. + + + + + Gets or sets the MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected + client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level + separator). + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + The message is accepted but there are no subscribers. This is sent only by the Server. If the Server knows that there are no matching subscribers, it MAY use this Reason Code instead of 0x00 (Success). + + + + + The reason string is sent to every client via a DISCONNECT packet. + MQTT 5.0.0+ feature. + + + + + The server reference is sent to every client via a DISCONNECT packet. + MQTT 5.0.0+ feature. + + + + + These user properties are sent to every client via a DISCONNECT packet. + MQTT 5.0.0+ feature. + + + + + Gets the application message which was not consumed by any client. + + + + + Gets the ID of the client which has sent the affected application message. + + + + + Gets the packet which was used for acknowledge. This can be a PubAck or PubComp packet. + + + + + Gets the ID of the client which acknowledged a PUBLISH packet. + + + + + Gets whether the PUBLISH packet is fully acknowledged. This is the case for PUBACK (QoS 1) and PUBCOMP (QoS 2. + + + + + Gets the PUBLISH packet which was acknowledged. + + + + + Gets the session items which contain custom user data per session. + + + + + Gets the client identifier of the connected client. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets the endpoint of the connected client. + + + + + Gets the protocol version which is used by the connected client. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the user name of the connected client. + + + + + Gets the user properties sent by the client. + MQTT 5.0.0+ feature. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets the reason code sent by the client. + Only available for clean disconnects. + MQTT 5.0.0+ feature. + + + + + Gets the reason string sent by the client. + Only available for clean disconnects. + MQTT 5.0.0+ feature. + + + + + Gets the session expiry interval sent by the client. + Only available for clean disconnects. + MQTT 5.0.0+ feature. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the user properties sent by the client. + Only available for clean disconnects. + MQTT 5.0.0+ feature. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the topic filter. + The topic filter can contain topics and wildcards. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the topic filter. + The topic filter can contain topics and wildcards. + + + + + Gets or sets whether the enqueue of the application message should be performed or not. + If set to _False_ the client will not receive the application message. + + + + + Indicates if the connection with the sender should be closed. + + + + + Gets the cancellation token from the connection managing thread. + Use this in further event processing. + + + + + Gets the client ID which has sent the packet or will receive the packet. + + + + + Gets the endpoint of the sending or receiving client. + + + + + Gets or sets the MQTT packet which was received or will be sent. + + + + + Gets or sets whether the packet should be processed or not. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the cancellation token which can indicate that the client connection gets down. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets whether the publish should be processed internally. + + + + + Gets the response which will be sent to the client via the PUBACK etc. packets. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the cancellation token which can indicate that the client connection gets down. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets whether the broker should close the client connection. + + + + + Gets or sets whether the broker should create an internal subscription for the client. + The broker can also avoid this and return "success" to the client. + This feature allows using the MQTT Broker as the Frontend and another system as the backend. + + + + + Gets or sets the reason string which will be sent to the client in the SUBACK packet. + + + + + Gets the response which will be sent to the client via the SUBACK packet. + + + + + Gets the current client session. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the topic filter. + The topic filter can contain topics and wildcards. + + + + + Gets or sets the user properties. + MQTT 5.0.0+ feature. + + + + + Gets the cancellation token which can indicate that the client connection gets down. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets whether the broker should close the client connection. + + + + + Gets or sets whether the broker should remove an internal subscription for the client. + The broker can also avoid this and return "success" to the client. + This feature allows using the MQTT Broker as the Frontend and another system as the backend. + + + + + Gets the response which will be sent to the client via the UNSUBACK pocket. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected + client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level + separator). + + + + + Gets or sets the user properties. + MQTT 5.0.0+ feature. + + + + + Gets the will delay interval. + This is the time between the client disconnect and the time the will message will be sent. + + + + + Gets the ID of the session. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the assigned client identifier. + MQTTv5 only. + + + + + Gets or sets the authentication data. + MQTT 5.0.0+ feature. + + + + + Gets or sets the authentication method. + MQTT 5.0.0+ feature. + + + + + Gets the channel adapter. This can be a _MqttConnectionContext_ (used in ASP.NET), a _MqttChannelAdapter_ (used for + TCP or WebSockets) or a custom implementation. + + + + + Gets or sets a value indicating whether clean sessions are used or not. + When a client connects to a broker it can connect using either a non persistent connection (clean session) or a + persistent connection. + With a non persistent connection the broker doesn't store any subscription information or undelivered messages for + the client. + This mode is ideal when the client only publishes messages. + It can also connect as a durable client using a persistent connection. + In this mode, the broker will store subscription information, and undelivered messages for the client. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets the keep alive period. + The connection is normally left open by the client so that is can send and receive data at any time. + If no data flows over an open connection for a certain time period then the client will generate a PINGREQ and + expect to receive a PINGRESP from the broker. + This message exchange confirms that the connection is open and working. + This period is known as the keep alive period. + + + + + A value of 0 indicates that the value is not used. + + + + + Gets or sets the reason code. When a MQTTv3 client connects the enum value must be one which is + also supported in MQTTv3. Otherwise the connection attempt will fail because not all codes can be + converted properly. + MQTT 5.0.0+ feature. + + + + + Gets or sets the receive maximum. + This gives the maximum length of the receive messages. + A value of 0 indicates that the value is not used. + + + + + Gets the request problem information. + MQTT 5.0.0+ feature. + + + + + Gets the request response information. + MQTT 5.0.0+ feature. + + + + + Gets or sets the response authentication data. + MQTT 5.0.0+ feature. + + + + + Gets or sets the response user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Gets or sets the server reference. This can be used together with i.e. "Server Moved" to send + a different server address to the client. + MQTT 5.0.0+ feature. + + + + + Gets the session expiry interval. + The time after a session expires when it's not actively used. + A value of 0 means no expiation. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the topic alias maximum. + This gives the maximum length of the topic alias. + A value of 0 indicates that the value is not used. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Gets or sets the will delay interval. + This is the time between the client disconnect and the time the will message will be sent. + A value of 0 indicates that the value is not used. + + + + + Gets or sets the session items which should be used for all event handlers which are involved in message + processing. + If _null_ is specified the singleton session items from the server are used instead. + + + + + Timestamp of the last package that has been sent to the client ("received" from the client's perspective) + + + + + Timestamp of the last package that has been received from the client ("sent" from the client's perspective) + + + + + Session should persist if CleanSession was set to false (Mqtt3) or if SessionExpiryInterval != 0 (Mqtt5) + + + + + Helper class that stores subscriptions by their topic hash mask. + + + + + Gets or sets whether the server will accept new connections. + If not, the server will close the connection without any notification (DISCONNECT packet). + This feature can be used when the server is shutting down. + + + + + Gives access to the session items which belong to this server. This session items are passed + to several events instead of the client session items if the event is caused by the server instead of a client. + + + + + When this mode is enabled the MQTT server will not close a connection when the + client is currently sending a (large) payload. This may lead to "dead" connections + When this mode is disabled the MQTT server will disconnect a client when the keep + alive timeout is reached even if the client is currently sending a (large) payload. + + + + + Gets or sets the default and initial size of the packet write buffer. + It is recommended to set this to a value close to the usual expected packet size * 1.5. + Do not change this value when no memory issues are experienced. + + + + + Gets or sets the maximum size of the buffer writer. The writer will reduce its internal buffer + to this value after serializing a packet. + Do not change this value when no memory issues are experienced. + + + + + Usually the MQTT packets can be send partially to improve memory allocations. + This is done by using multiple TCP packets or WebSocket frames etc. + Unfortunately not all clients do support this and will close the connection when receiving partial packets. + + + + + Gets or sets whether the sockets keep alive feature should be used. + The value _null_ indicates that the OS and framework defaults should be used. + + + + + Usually the MQTT packets can be send partially. This is done by using multiple TCP packets + or WebSocket frames etc. Unfortunately not all clients do support this feature and + will close the connection when receiving such packets. If such clients are connecting to this + server the flag must be set to _false_. + + + + + Gets or sets the TCP keep alive interval. + The value _null_ indicates that the OS and framework defaults should be used. + + + + + Gets or sets the TCP keep alive retry count. + The value _null_ indicates that the OS and framework defaults should be used. + + + + + Gets or sets the TCP keep alive time. + The value _null_ indicates that the OS and framework defaults should be used. + + + + + This requires admin permissions on Linux. + + + + + Gets or sets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + These disconnect options are sent to every connected client via a DISCONNECT packet. + MQTT 5.0.0+ feature. + + + + + Gets or sets the reason code which is sent to the client. + The subscription is skipped when the value is not GrantedQoS_. + MQTTv5 only. + + + + + Gets or sets the reason code which is sent to the client. + MQTTv5 only. + + + + diff --git a/LeatherProject/packages/MQTTnet.4.3.3.952/lib/net48/MQTTnet.xml b/LeatherProject/packages/MQTTnet.4.3.3.952/lib/net48/MQTTnet.xml new file mode 100644 index 0000000..ff28656 --- /dev/null +++ b/LeatherProject/packages/MQTTnet.4.3.3.952/lib/net48/MQTTnet.xml @@ -0,0 +1,1771 @@ + + + + MQTTnet + + + + + Gets the authentication result. + MQTT 5.0.0+ feature. + + + + + Gets the result code. + MQTTv5 only. + + + + + Gets a value indicating whether a session was already available or not. + MQTTv5 only. + + + + + Gets a value indicating whether wildcards can be used in subscriptions at the current server. + MQTTv5 only. + + + + + Gets whether the server supports retained messages. + MQTTv5 only. + + + + + Gets the client identifier which was chosen by the server. + MQTTv5 only. + + + + + Gets the authentication method. + MQTTv5 only. + + + + + Gets the authentication data. + MQTTv5 only. + + + + + Gets the reason string. + MQTTv5 only. + + + + + Gets the maximum QoS which is supported by the server. + MQTTv5 only. + + + + + Gets the response information. + MQTTv5 only. + + + + + Gets the maximum value for a topic alias. 0 means not supported. + MQTTv5 only. + + + + + Gets an alternate server which should be used instead of the current one. + MQTTv5 only. + + + + + MQTTv5 only. + Gets the keep alive interval which was chosen by the server instead of the + keep alive interval from the client CONNECT packet. + A value of 0 indicates that the feature is not used. + + + + + Gets a value indicating whether the subscription identifiers are available or not. + MQTTv5 only. + + + + + Gets a value indicating whether the shared subscriptions are available or not. + MQTTv5 only. + + + + + Gets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTTv5 only. + + + + + Gets the authentication result. + MQTT 5.0.0+ feature. + + + + + Gets or sets the reason. + MQTT 5.0.0+ feature. + + + + + Gets or sets the reason code. + MQTT 5.0.0+ feature. + + + + + Gets or sets the reason string. + MQTT 5.0.0+ feature. + + + + + Gets or sets the session expiry interval. + MQTT 5.0.0+ feature. + + + + + Gets or sets the user properties. + MQTT 5.0.0+ feature. + + + + + This enum only contains values which are valid when a client sends the reason to the server. + + + + + Gets the reason code. + Hint: MQTT 5 feature only. + + + + + Gets the reason string. + Hint: MQTT 5 feature only. + + + + + Gets the authentication method. + Hint: MQTT 5 feature only. + + + + + Gets the authentication data. + Hint: MQTT 5 feature only. + + + + + Gets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + Hint: MQTT 5 feature only. + + + + + Gets or sets the reason code. + Hint: MQTT 5 feature only. + + + + + Gets or sets the reason string. + Hint: MQTT 5 feature only. + + + + + Gets or sets the authentication data. + Authentication data is binary information used to transmit multiple iterations of cryptographic secrets of protocol steps. + The content of the authentication data is highly dependent on the specific implementation of the authentication method. + Hint: MQTT 5 feature only. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + Hint: MQTT 5 feature only. + + + + + Can be a host string name or an object derived from WebRequest. + + + + + Usually the MQTT packets can be send partially. This is done by using multiple TCP packets + or WebSocket frames etc. Unfortunately not all brokers (like Amazon Web Services (AWS)) do support this feature and + will close the connection when receiving such packets. If such a service is used this flag must + be set to _false_. + + + + + Gets or sets the authentication data. + MQTT 5.0.0+ feature. + + + + + Gets or sets the authentication method. + MQTT 5.0.0+ feature. + + + + + Gets or sets a value indicating whether clean sessions are used or not. + When a client connects to a broker it can connect using either a non persistent connection (clean session) or a + persistent connection. + With a non persistent connection the broker doesn't store any subscription information or undelivered messages for + the client. + This mode is ideal when the client only publishes messages. + It can also connect as a durable client using a persistent connection. + In this mode, the broker will store subscription information, and undelivered messages for the client. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets the keep alive period. + The connection is normally left open by the client so that is can send and receive data at any time. + If no data flows over an open connection for a certain time period then the client will generate a PINGREQ and + expect to receive a PINGRESP from the broker. + This message exchange confirms that the connection is open and working. + This period is known as the keep alive period. + + + + + Gets or sets the maximum packet size. + MQTT 5.0.0+ feature. + + + + + Gets or sets the receive maximum. + This gives the maximum length of the receive messages. + MQTT 5.0.0+ feature. + + + + + Gets or sets the request problem information. + MQTT 5.0.0+ feature. + + + + + Gets or sets the request response information. + MQTT 5.0.0+ feature. + + + + + Gets or sets the session expiry interval. + The time after a session expires when it's not actively used. + MQTT 5.0.0+ feature. + + + + + Gets or sets whether an exception should be thrown when the server has sent a non success ACK packet. + + + + + Gets or sets the timeout which will be applied at socket level and internal operations. + The default value is the same as for sockets in .NET in general. + + + + + Gets or sets the topic alias maximum. + This gives the maximum length of the topic alias. + MQTT 5.0.0+ feature. + + + + + If set to true, the bridge will attempt to indicate to the remote broker that it is a bridge not an ordinary + client. + If successful, this means that loop detection will be more effective and that retained messages will be propagated + correctly. + + Not all brokers support this feature so it may be necessary to set it to false if your bridge does not + connect properly. + + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + When this feature is enabled the client will check if used properties are supported in the selected protocol + version. + This feature can be validated if an application message is generated one time but sent via different protocol + versions. + Default values are applied if the validation is off and features are not supported. + + + + + Gets or sets the content type of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the correlation data of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the will delay interval. + This is the time between the client disconnect and the time the will message will be sent. + MQTT 5.0.0+ feature. + + + + + Gets or sets the message expiry interval of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the payload of the will message. + + + + + Gets or sets the payload format indicator of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the QoS level of the will message. + + + + + Gets or sets the response topic of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the retain flag of the will message. + + + + + Gets or sets the topic of the will message. + + + + + Gets or sets the user properties of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the default and initial size of the packet write buffer. + It is recommended to set this to a value close to the usual expected packet size * 1.5. + Do not change this value when no memory issues are experienced. + + + + + Gets or sets the maximum size of the buffer writer. The writer will reduce its internal buffer + to this value after serializing a packet. + Do not change this value when no memory issues are experienced. + + + + + Clean session is used in MQTT versions below 5.0.0. It is the same as setting "CleanStart". + + + + + Clean start is used in MQTT versions 5.0.0 and higher. It is the same as setting "CleanSession". + + + + + Usually the MQTT packets can be send partially. This is done by using multiple TCP packets + or WebSocket frames etc. Unfortunately not all brokers (like Amazon Web Services (AWS)) do support this feature and + will close the connection when receiving such packets. If such a service is used this flag must + be set to _true_. + + + + + The client will not throw an exception when the MQTT server responses with a non success ACK packet. + This will become the default behavior in future versions of the library. + + + + + Sets the timeout which will be applied at socket level and internal operations. + The default value is the same as for sockets in .NET in general. + + + + + If set to true, the bridge will attempt to indicate to the remote broker that it is a bridge not an ordinary + client. + If successful, this means that loop detection will be more effective and that retained messages will be propagated + correctly. + Not all brokers support this feature so it may be necessary to set it to false if your bridge does not connect + properly. + + + + + Gets the local endpoint (network card) which is used by the client. + Set it to _null_ to let the OS select the network card. + + + + + Gets or sets whether the underlying socket should run in dual mode. + Leaving this _null_ will avoid setting this value at socket level. + Setting this a value other than _null_ will throw an exception when only IPv4 is supported on the machine. + + + + + Gets or sets the provider for certificates. + This provider gets called whenever the client wants to connect + with the server and requires certificates for authentication. + The implementation may return different certificates each time. + + + + + Gets or sets the target host. + If the value is null or empty the same host as the TCP socket host will be used. + + + + + Gets or sets the keep alive interval for the Web Socket connection. + This is not related to the keep alive interval for the MQTT protocol. + + + + + Gets or sets whether the default (system) credentials should be used when connecting via Web Socket connection. + This is not related to the credentials which are used for the MQTT protocol. + + + + + Returns if the overall status of the publish is a success. This can be the reason code _Success_ or + _NoMatchingSubscribers_. _NoMatchingSubscribers_ usually indicates only that no other client is interested in the + topic but overall transmit + to the server etc. was a success. + + + + + Gets the packet identifier which was used for this publish. + + + + + Gets or sets the reason code. + MQTT 5.0.0+ feature. + + + + + Gets or sets the reason string. + MQTT 5.0.0+ feature. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Gets or sets whether the library should send MQTT ACK packets automatically if required. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets whether this message was handled. + This value can be used in user code for custom control flow. + + + + + Gets the identifier of the MQTT packet + + + + + Indicates if the processing of this PUBLISH packet has failed. + If the processing has failed the client will not send an ACK packet etc. + + + + + Gets or sets the reason code which will be sent to the server. + + + + + Gets or sets the reason string which will be sent to the server in the ACK packet. + + + + + Gets or sets the user properties which will be sent to the server in the ACK packet etc. + + + + + Gets or sets the subscription identifier. + The client can specify a subscription identifier when subscribing. + The broker will establish and store the mapping relationship between this subscription and subscription identifier + when successfully create or modify subscription. + The broker will return the subscription identifier associated with this PUBLISH packet and the PUBLISH packet to + the client when need to forward PUBLISH packets matching this subscription to this client. + MQTT 5.0.0+ feature. + + + + + Gets or sets a list of topic filters the client wants to subscribe to. + Topic filters can include regular topics or wild cards. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Adds the user property to the subscribe options. + MQTT 5.0.0+ feature. + + + + + Gets the result for every topic filter item. + + + + + Gets the user properties which were part of the SUBACK packet. + MQTT 5.0.0+ feature. + + + + + Gets the reason string. + MQTT 5.0.0+ feature. + + + + + Gets the packet identifier which was used. + + + + + Gets or sets the topic filter. + The topic filter can contain topics and wildcards. + + + + + Gets or sets the result code. + MQTT 5.0.0+ feature. + + + + + Gets or sets a list of topic filters the client wants to unsubscribe from. + Topic filters can include regular topics or wild cards. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Adds the user property to the unsubscribe options. + MQTT 5.0.0+ feature. + + + + + Adds the user property to the unsubscribe options. + MQTT 5.0.0+ feature. + + + + + Gets the result for every topic filter item. + + + + + Gets the packet identifier which was used. + + + + + Gets the reason string. + MQTT 5.0.0+ feature. + + + + + Gets the user properties which were part of the UNSUBACK packet. + MQTT 5.0.0+ feature. + + + + + Gets or sets the result code. + MQTT 5.0.0+ feature. + + + + + Gets or sets the topic filter. + The topic filter can contain topics and wildcards. + + + + + This logger fires an event when a new message was published. + + + + + This logger does nothing with the messages. + + + + + This is a custom implementation of a memory stream which provides only MQTTnet relevant features. + The goal is to avoid lots of argument checks like in the original stream. The growth rule is the + same as for the original MemoryStream in .net. Also this implementation allows accessing the internal + buffer for all platforms and .net framework versions (which is not available at the regular MemoryStream). + + + + + Gets or sets the content type. + The content type must be a UTF-8 encoded string. The content type value identifies the kind of UTF-8 encoded + payload. + + + + + Gets or sets the correlation data. + In order for the sender to know what sent message the response refers to it can also send correlation data with the + published message. + Hint: MQTT 5 feature only. + + + + + If the DUP flag is set to 0, it indicates that this is the first occasion that the Client or Server has attempted + to send this MQTT PUBLISH Packet. + If the DUP flag is set to 1, it indicates that this might be re-delivery of an earlier attempt to send the Packet. + The DUP flag MUST be set to 1 by the Client or Server when it attempts to re-deliver a PUBLISH Packet + [MQTT-3.3.1.-1]. + The DUP flag MUST be set to 0 for all QoS 0 messages [MQTT-3.3.1-2]. + + + + + Gets or sets the message expiry interval. + A client can set the message expiry interval in seconds for each PUBLISH message individually. + This interval defines the period of time that the broker stores the PUBLISH message for any matching subscribers + that are not currently connected. + When no message expiry interval is set, the broker must store the message for matching subscribers indefinitely. + When the retained=true option is set on the PUBLISH message, this interval also defines how long a message is + retained on a topic. + Hint: MQTT 5 feature only. + + + + + Gets or sets the payload. + The payload is the data bytes sent via the MQTT protocol. + + + + + Get or set ArraySegment style of Payload. + + + + + Gets or sets the payload format indicator. + The payload format indicator is part of any MQTT packet that can contain a payload. The indicator is an optional + byte value. + A value of 0 indicates an “unspecified byte stream”. + A value of 1 indicates a "UTF-8 encoded payload". + If no payload format indicator is provided, the default value is 0. + Hint: MQTT 5 feature only. + + + + + Gets or sets the quality of service level. + The Quality of Service (QoS) level is an agreement between the sender of a message and the receiver of a message + that defines the guarantee of delivery for a specific message. + There are 3 QoS levels in MQTT: + - At most once (0): Message gets delivered no time, once or multiple times. + - At least once (1): Message gets delivered at least once (one time or more often). + - Exactly once (2): Message gets delivered exactly once (It's ensured that the message only comes once). + + + + + Gets or sets the response topic. + In MQTT 5 the ability to publish a response topic was added in the publish message which allows you to implement + the request/response pattern between clients that is common in web applications. + Hint: MQTT 5 feature only. + + + + + Gets or sets a value indicating whether the message should be retained or not. + A retained message is a normal MQTT message with the retained flag set to true. + The broker stores the last retained message and the corresponding QoS for that topic. + + + + + Gets or sets the subscription identifiers. + The client can specify a subscription identifier when subscribing. + The broker will establish and store the mapping relationship between this subscription and subscription identifier + when successfully create or modify subscription. + The broker will return the subscription identifier associated with this PUBLISH packet and the PUBLISH packet to + the client when need to forward PUBLISH packets matching this subscription to this client. + Hint: MQTT 5 feature only. + + + + + Gets or sets the MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected + client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level + separator). + + + + + Gets or sets the topic alias. + Topic aliases were introduced are a mechanism for reducing the size of published packets by reducing the size of + the topic field. + A value of 0 indicates no topic alias is used. + Hint: MQTT 5 feature only. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + Hint: MQTT 5 feature only. + + + + + Adds the content type to the message. + MQTT 5.0.0+ feature. + + + + + Adds the correlation data to the message. + MQTT 5.0.0+ feature. + + + + + Adds the message expiry interval in seconds to the message. + MQTT 5.0.0+ feature. + + + + + Adds the payload format indicator to the message. + MQTT 5.0.0+ feature. + + + + + The quality of service level. + The Quality of Service (QoS) level is an agreement between the sender of a message and the receiver of a message + that defines the guarantee of delivery for a specific message. + There are 3 QoS levels in MQTT: + - At most once (0): Message gets delivered no time, once or multiple times. + - At least once (1): Message gets delivered at least once (one time or more often). + - Exactly once (2): Message gets delivered exactly once (It's ensured that the message only comes once). + + + + + Adds the response topic to the message. + MQTT 5.0.0+ feature. + + + + + A value indicating whether the message should be retained or not. + A retained message is a normal MQTT message with the retained flag set to true. + The broker stores the last retained message and the corresponding QoS for that topic. + + + + + Adds the subscription identifier to the message. + MQTT 5.0.0+ feature. + + + + + The MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected + client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level + separator). + + + + + Adds the topic alias to the message. + MQTT 5.0.0+ feature. + + + + + Adds the user property to the message. + MQTT 5.0.0+ feature. + + + + + The quality of service level. + The Quality of Service (QoS) level is an agreement between the sender of a message and the receiver of a message that defines the guarantee of delivery for a specific message. + There are 3 QoS levels in MQTT: + - At most once (0): Message gets delivered no time, once or multiple times. + - At least once (1): Message gets delivered at least once (one time or more often). + - Exactly once (2): Message gets delivered exactly once (It's ensured that the message only comes once). + + + + + The MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level separator). + + + + Added in MQTTv5.0.0. + + + + Added in MQTTv5. + + + + + Added in MQTTv3.1.1. + + + + + Added in MQTTv5. + + + + + Also called "Clean Start" in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Reason Code is used in MQTTv5.0.0 and backward compatible to v.3.1.1. Return Code is used in MQTTv3.1.1 + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + It is a Protocol Error if the Subscription Identifier has a value of 0. + + + + + Added in MQTTv5. + + + + + Gets or sets a value indicating whether the sender will not receive its own published application messages. + MQTT 5.0.0+ feature. + + + + + Gets or sets the quality of service level. + The Quality of Service (QoS) level is an agreement between the sender of a message and the receiver of a message + that defines the guarantee of delivery for a specific message. + There are 3 QoS levels in MQTT: + - At most once (0): Message gets delivered no time, once or multiple times. + - At least once (1): Message gets delivered at least once (one time or more often). + - Exactly once (2): Message gets delivered exactly once (It's ensured that the message only comes once). + + + + + Gets or sets a value indicating whether messages are retained as published or not. + MQTT 5.0.0+ feature. + + + + + Gets or sets the retain handling. + MQTT 5.0.0+ feature. + + + + + Gets or sets the MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected + client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level + separator). + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + The message is accepted but there are no subscribers. This is sent only by the Server. If the Server knows that there are no matching subscribers, it MAY use this Reason Code instead of 0x00 (Success). + + + + + The reason string is sent to every client via a DISCONNECT packet. + MQTT 5.0.0+ feature. + + + + + The server reference is sent to every client via a DISCONNECT packet. + MQTT 5.0.0+ feature. + + + + + These user properties are sent to every client via a DISCONNECT packet. + MQTT 5.0.0+ feature. + + + + + Gets the application message which was not consumed by any client. + + + + + Gets the ID of the client which has sent the affected application message. + + + + + Gets the packet which was used for acknowledge. This can be a PubAck or PubComp packet. + + + + + Gets the ID of the client which acknowledged a PUBLISH packet. + + + + + Gets whether the PUBLISH packet is fully acknowledged. This is the case for PUBACK (QoS 1) and PUBCOMP (QoS 2. + + + + + Gets the PUBLISH packet which was acknowledged. + + + + + Gets the session items which contain custom user data per session. + + + + + Gets the client identifier of the connected client. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets the endpoint of the connected client. + + + + + Gets the protocol version which is used by the connected client. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the user name of the connected client. + + + + + Gets the user properties sent by the client. + MQTT 5.0.0+ feature. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets the reason code sent by the client. + Only available for clean disconnects. + MQTT 5.0.0+ feature. + + + + + Gets the reason string sent by the client. + Only available for clean disconnects. + MQTT 5.0.0+ feature. + + + + + Gets the session expiry interval sent by the client. + Only available for clean disconnects. + MQTT 5.0.0+ feature. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the user properties sent by the client. + Only available for clean disconnects. + MQTT 5.0.0+ feature. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the topic filter. + The topic filter can contain topics and wildcards. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the topic filter. + The topic filter can contain topics and wildcards. + + + + + Gets or sets whether the enqueue of the application message should be performed or not. + If set to _False_ the client will not receive the application message. + + + + + Indicates if the connection with the sender should be closed. + + + + + Gets the cancellation token from the connection managing thread. + Use this in further event processing. + + + + + Gets the client ID which has sent the packet or will receive the packet. + + + + + Gets the endpoint of the sending or receiving client. + + + + + Gets or sets the MQTT packet which was received or will be sent. + + + + + Gets or sets whether the packet should be processed or not. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the cancellation token which can indicate that the client connection gets down. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets whether the publish should be processed internally. + + + + + Gets the response which will be sent to the client via the PUBACK etc. packets. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the cancellation token which can indicate that the client connection gets down. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets whether the broker should close the client connection. + + + + + Gets or sets whether the broker should create an internal subscription for the client. + The broker can also avoid this and return "success" to the client. + This feature allows using the MQTT Broker as the Frontend and another system as the backend. + + + + + Gets or sets the reason string which will be sent to the client in the SUBACK packet. + + + + + Gets the response which will be sent to the client via the SUBACK packet. + + + + + Gets the current client session. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the topic filter. + The topic filter can contain topics and wildcards. + + + + + Gets or sets the user properties. + MQTT 5.0.0+ feature. + + + + + Gets the cancellation token which can indicate that the client connection gets down. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets whether the broker should close the client connection. + + + + + Gets or sets whether the broker should remove an internal subscription for the client. + The broker can also avoid this and return "success" to the client. + This feature allows using the MQTT Broker as the Frontend and another system as the backend. + + + + + Gets the response which will be sent to the client via the UNSUBACK pocket. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected + client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level + separator). + + + + + Gets or sets the user properties. + MQTT 5.0.0+ feature. + + + + + Gets the will delay interval. + This is the time between the client disconnect and the time the will message will be sent. + + + + + Gets the ID of the session. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the assigned client identifier. + MQTTv5 only. + + + + + Gets or sets the authentication data. + MQTT 5.0.0+ feature. + + + + + Gets or sets the authentication method. + MQTT 5.0.0+ feature. + + + + + Gets the channel adapter. This can be a _MqttConnectionContext_ (used in ASP.NET), a _MqttChannelAdapter_ (used for + TCP or WebSockets) or a custom implementation. + + + + + Gets or sets a value indicating whether clean sessions are used or not. + When a client connects to a broker it can connect using either a non persistent connection (clean session) or a + persistent connection. + With a non persistent connection the broker doesn't store any subscription information or undelivered messages for + the client. + This mode is ideal when the client only publishes messages. + It can also connect as a durable client using a persistent connection. + In this mode, the broker will store subscription information, and undelivered messages for the client. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets the keep alive period. + The connection is normally left open by the client so that is can send and receive data at any time. + If no data flows over an open connection for a certain time period then the client will generate a PINGREQ and + expect to receive a PINGRESP from the broker. + This message exchange confirms that the connection is open and working. + This period is known as the keep alive period. + + + + + A value of 0 indicates that the value is not used. + + + + + Gets or sets the reason code. When a MQTTv3 client connects the enum value must be one which is + also supported in MQTTv3. Otherwise the connection attempt will fail because not all codes can be + converted properly. + MQTT 5.0.0+ feature. + + + + + Gets or sets the receive maximum. + This gives the maximum length of the receive messages. + A value of 0 indicates that the value is not used. + + + + + Gets the request problem information. + MQTT 5.0.0+ feature. + + + + + Gets the request response information. + MQTT 5.0.0+ feature. + + + + + Gets or sets the response authentication data. + MQTT 5.0.0+ feature. + + + + + Gets or sets the response user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Gets or sets the server reference. This can be used together with i.e. "Server Moved" to send + a different server address to the client. + MQTT 5.0.0+ feature. + + + + + Gets the session expiry interval. + The time after a session expires when it's not actively used. + A value of 0 means no expiation. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the topic alias maximum. + This gives the maximum length of the topic alias. + A value of 0 indicates that the value is not used. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Gets or sets the will delay interval. + This is the time between the client disconnect and the time the will message will be sent. + A value of 0 indicates that the value is not used. + + + + + Gets or sets the session items which should be used for all event handlers which are involved in message + processing. + If _null_ is specified the singleton session items from the server are used instead. + + + + + Timestamp of the last package that has been sent to the client ("received" from the client's perspective) + + + + + Timestamp of the last package that has been received from the client ("sent" from the client's perspective) + + + + + Session should persist if CleanSession was set to false (Mqtt3) or if SessionExpiryInterval != 0 (Mqtt5) + + + + + Helper class that stores subscriptions by their topic hash mask. + + + + + Gets or sets whether the server will accept new connections. + If not, the server will close the connection without any notification (DISCONNECT packet). + This feature can be used when the server is shutting down. + + + + + Gives access to the session items which belong to this server. This session items are passed + to several events instead of the client session items if the event is caused by the server instead of a client. + + + + + When this mode is enabled the MQTT server will not close a connection when the + client is currently sending a (large) payload. This may lead to "dead" connections + When this mode is disabled the MQTT server will disconnect a client when the keep + alive timeout is reached even if the client is currently sending a (large) payload. + + + + + Gets or sets the default and initial size of the packet write buffer. + It is recommended to set this to a value close to the usual expected packet size * 1.5. + Do not change this value when no memory issues are experienced. + + + + + Gets or sets the maximum size of the buffer writer. The writer will reduce its internal buffer + to this value after serializing a packet. + Do not change this value when no memory issues are experienced. + + + + + Usually the MQTT packets can be send partially to improve memory allocations. + This is done by using multiple TCP packets or WebSocket frames etc. + Unfortunately not all clients do support this and will close the connection when receiving partial packets. + + + + + Gets or sets whether the sockets keep alive feature should be used. + The value _null_ indicates that the OS and framework defaults should be used. + + + + + Usually the MQTT packets can be send partially. This is done by using multiple TCP packets + or WebSocket frames etc. Unfortunately not all clients do support this feature and + will close the connection when receiving such packets. If such clients are connecting to this + server the flag must be set to _false_. + + + + + Gets or sets the TCP keep alive interval. + The value _null_ indicates that the OS and framework defaults should be used. + + + + + Gets or sets the TCP keep alive retry count. + The value _null_ indicates that the OS and framework defaults should be used. + + + + + Gets or sets the TCP keep alive time. + The value _null_ indicates that the OS and framework defaults should be used. + + + + + This requires admin permissions on Linux. + + + + + Gets or sets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + These disconnect options are sent to every connected client via a DISCONNECT packet. + MQTT 5.0.0+ feature. + + + + + Gets or sets the reason code which is sent to the client. + The subscription is skipped when the value is not GrantedQoS_. + MQTTv5 only. + + + + + Gets or sets the reason code which is sent to the client. + MQTTv5 only. + + + + diff --git a/LeatherProject/packages/MQTTnet.4.3.3.952/lib/net5.0/MQTTnet.xml b/LeatherProject/packages/MQTTnet.4.3.3.952/lib/net5.0/MQTTnet.xml new file mode 100644 index 0000000..d393dbb --- /dev/null +++ b/LeatherProject/packages/MQTTnet.4.3.3.952/lib/net5.0/MQTTnet.xml @@ -0,0 +1,1766 @@ + + + + MQTTnet + + + + + Gets the authentication result. + MQTT 5.0.0+ feature. + + + + + Gets the result code. + MQTTv5 only. + + + + + Gets a value indicating whether a session was already available or not. + MQTTv5 only. + + + + + Gets a value indicating whether wildcards can be used in subscriptions at the current server. + MQTTv5 only. + + + + + Gets whether the server supports retained messages. + MQTTv5 only. + + + + + Gets the client identifier which was chosen by the server. + MQTTv5 only. + + + + + Gets the authentication method. + MQTTv5 only. + + + + + Gets the authentication data. + MQTTv5 only. + + + + + Gets the reason string. + MQTTv5 only. + + + + + Gets the maximum QoS which is supported by the server. + MQTTv5 only. + + + + + Gets the response information. + MQTTv5 only. + + + + + Gets the maximum value for a topic alias. 0 means not supported. + MQTTv5 only. + + + + + Gets an alternate server which should be used instead of the current one. + MQTTv5 only. + + + + + MQTTv5 only. + Gets the keep alive interval which was chosen by the server instead of the + keep alive interval from the client CONNECT packet. + A value of 0 indicates that the feature is not used. + + + + + Gets a value indicating whether the subscription identifiers are available or not. + MQTTv5 only. + + + + + Gets a value indicating whether the shared subscriptions are available or not. + MQTTv5 only. + + + + + Gets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTTv5 only. + + + + + Gets the authentication result. + MQTT 5.0.0+ feature. + + + + + Gets or sets the reason. + MQTT 5.0.0+ feature. + + + + + Gets or sets the reason code. + MQTT 5.0.0+ feature. + + + + + Gets or sets the reason string. + MQTT 5.0.0+ feature. + + + + + Gets or sets the session expiry interval. + MQTT 5.0.0+ feature. + + + + + Gets or sets the user properties. + MQTT 5.0.0+ feature. + + + + + This enum only contains values which are valid when a client sends the reason to the server. + + + + + Gets the reason code. + Hint: MQTT 5 feature only. + + + + + Gets the reason string. + Hint: MQTT 5 feature only. + + + + + Gets the authentication method. + Hint: MQTT 5 feature only. + + + + + Gets the authentication data. + Hint: MQTT 5 feature only. + + + + + Gets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + Hint: MQTT 5 feature only. + + + + + Gets or sets the reason code. + Hint: MQTT 5 feature only. + + + + + Gets or sets the reason string. + Hint: MQTT 5 feature only. + + + + + Gets or sets the authentication data. + Authentication data is binary information used to transmit multiple iterations of cryptographic secrets of protocol steps. + The content of the authentication data is highly dependent on the specific implementation of the authentication method. + Hint: MQTT 5 feature only. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + Hint: MQTT 5 feature only. + + + + + Usually the MQTT packets can be send partially. This is done by using multiple TCP packets + or WebSocket frames etc. Unfortunately not all brokers (like Amazon Web Services (AWS)) do support this feature and + will close the connection when receiving such packets. If such a service is used this flag must + be set to _false_. + + + + + Gets or sets the authentication data. + MQTT 5.0.0+ feature. + + + + + Gets or sets the authentication method. + MQTT 5.0.0+ feature. + + + + + Gets or sets a value indicating whether clean sessions are used or not. + When a client connects to a broker it can connect using either a non persistent connection (clean session) or a + persistent connection. + With a non persistent connection the broker doesn't store any subscription information or undelivered messages for + the client. + This mode is ideal when the client only publishes messages. + It can also connect as a durable client using a persistent connection. + In this mode, the broker will store subscription information, and undelivered messages for the client. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets the keep alive period. + The connection is normally left open by the client so that is can send and receive data at any time. + If no data flows over an open connection for a certain time period then the client will generate a PINGREQ and + expect to receive a PINGRESP from the broker. + This message exchange confirms that the connection is open and working. + This period is known as the keep alive period. + + + + + Gets or sets the maximum packet size. + MQTT 5.0.0+ feature. + + + + + Gets or sets the receive maximum. + This gives the maximum length of the receive messages. + MQTT 5.0.0+ feature. + + + + + Gets or sets the request problem information. + MQTT 5.0.0+ feature. + + + + + Gets or sets the request response information. + MQTT 5.0.0+ feature. + + + + + Gets or sets the session expiry interval. + The time after a session expires when it's not actively used. + MQTT 5.0.0+ feature. + + + + + Gets or sets whether an exception should be thrown when the server has sent a non success ACK packet. + + + + + Gets or sets the timeout which will be applied at socket level and internal operations. + The default value is the same as for sockets in .NET in general. + + + + + Gets or sets the topic alias maximum. + This gives the maximum length of the topic alias. + MQTT 5.0.0+ feature. + + + + + If set to true, the bridge will attempt to indicate to the remote broker that it is a bridge not an ordinary + client. + If successful, this means that loop detection will be more effective and that retained messages will be propagated + correctly. + + Not all brokers support this feature so it may be necessary to set it to false if your bridge does not + connect properly. + + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + When this feature is enabled the client will check if used properties are supported in the selected protocol + version. + This feature can be validated if an application message is generated one time but sent via different protocol + versions. + Default values are applied if the validation is off and features are not supported. + + + + + Gets or sets the content type of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the correlation data of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the will delay interval. + This is the time between the client disconnect and the time the will message will be sent. + MQTT 5.0.0+ feature. + + + + + Gets or sets the message expiry interval of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the payload of the will message. + + + + + Gets or sets the payload format indicator of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the QoS level of the will message. + + + + + Gets or sets the response topic of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the retain flag of the will message. + + + + + Gets or sets the topic of the will message. + + + + + Gets or sets the user properties of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the default and initial size of the packet write buffer. + It is recommended to set this to a value close to the usual expected packet size * 1.5. + Do not change this value when no memory issues are experienced. + + + + + Gets or sets the maximum size of the buffer writer. The writer will reduce its internal buffer + to this value after serializing a packet. + Do not change this value when no memory issues are experienced. + + + + + Clean session is used in MQTT versions below 5.0.0. It is the same as setting "CleanStart". + + + + + Clean start is used in MQTT versions 5.0.0 and higher. It is the same as setting "CleanSession". + + + + + Usually the MQTT packets can be send partially. This is done by using multiple TCP packets + or WebSocket frames etc. Unfortunately not all brokers (like Amazon Web Services (AWS)) do support this feature and + will close the connection when receiving such packets. If such a service is used this flag must + be set to _true_. + + + + + The client will not throw an exception when the MQTT server responses with a non success ACK packet. + This will become the default behavior in future versions of the library. + + + + + Sets the timeout which will be applied at socket level and internal operations. + The default value is the same as for sockets in .NET in general. + + + + + If set to true, the bridge will attempt to indicate to the remote broker that it is a bridge not an ordinary + client. + If successful, this means that loop detection will be more effective and that retained messages will be propagated + correctly. + Not all brokers support this feature so it may be necessary to set it to false if your bridge does not connect + properly. + + + + + Gets the local endpoint (network card) which is used by the client. + Set it to _null_ to let the OS select the network card. + + + + + Gets or sets whether the underlying socket should run in dual mode. + Leaving this _null_ will avoid setting this value at socket level. + Setting this a value other than _null_ will throw an exception when only IPv4 is supported on the machine. + + + + + Gets or sets the provider for certificates. + This provider gets called whenever the client wants to connect + with the server and requires certificates for authentication. + The implementation may return different certificates each time. + + + + + Gets or sets the target host. + If the value is null or empty the same host as the TCP socket host will be used. + + + + + Gets or sets the keep alive interval for the Web Socket connection. + This is not related to the keep alive interval for the MQTT protocol. + + + + + Gets or sets whether the default (system) credentials should be used when connecting via Web Socket connection. + This is not related to the credentials which are used for the MQTT protocol. + + + + + Returns if the overall status of the publish is a success. This can be the reason code _Success_ or + _NoMatchingSubscribers_. _NoMatchingSubscribers_ usually indicates only that no other client is interested in the + topic but overall transmit + to the server etc. was a success. + + + + + Gets the packet identifier which was used for this publish. + + + + + Gets or sets the reason code. + MQTT 5.0.0+ feature. + + + + + Gets or sets the reason string. + MQTT 5.0.0+ feature. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Gets or sets whether the library should send MQTT ACK packets automatically if required. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets whether this message was handled. + This value can be used in user code for custom control flow. + + + + + Gets the identifier of the MQTT packet + + + + + Indicates if the processing of this PUBLISH packet has failed. + If the processing has failed the client will not send an ACK packet etc. + + + + + Gets or sets the reason code which will be sent to the server. + + + + + Gets or sets the reason string which will be sent to the server in the ACK packet. + + + + + Gets or sets the user properties which will be sent to the server in the ACK packet etc. + + + + + Gets or sets the subscription identifier. + The client can specify a subscription identifier when subscribing. + The broker will establish and store the mapping relationship between this subscription and subscription identifier + when successfully create or modify subscription. + The broker will return the subscription identifier associated with this PUBLISH packet and the PUBLISH packet to + the client when need to forward PUBLISH packets matching this subscription to this client. + MQTT 5.0.0+ feature. + + + + + Gets or sets a list of topic filters the client wants to subscribe to. + Topic filters can include regular topics or wild cards. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Adds the user property to the subscribe options. + MQTT 5.0.0+ feature. + + + + + Gets the result for every topic filter item. + + + + + Gets the user properties which were part of the SUBACK packet. + MQTT 5.0.0+ feature. + + + + + Gets the reason string. + MQTT 5.0.0+ feature. + + + + + Gets the packet identifier which was used. + + + + + Gets or sets the topic filter. + The topic filter can contain topics and wildcards. + + + + + Gets or sets the result code. + MQTT 5.0.0+ feature. + + + + + Gets or sets a list of topic filters the client wants to unsubscribe from. + Topic filters can include regular topics or wild cards. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Adds the user property to the unsubscribe options. + MQTT 5.0.0+ feature. + + + + + Adds the user property to the unsubscribe options. + MQTT 5.0.0+ feature. + + + + + Gets the result for every topic filter item. + + + + + Gets the packet identifier which was used. + + + + + Gets the reason string. + MQTT 5.0.0+ feature. + + + + + Gets the user properties which were part of the UNSUBACK packet. + MQTT 5.0.0+ feature. + + + + + Gets or sets the result code. + MQTT 5.0.0+ feature. + + + + + Gets or sets the topic filter. + The topic filter can contain topics and wildcards. + + + + + This logger fires an event when a new message was published. + + + + + This logger does nothing with the messages. + + + + + This is a custom implementation of a memory stream which provides only MQTTnet relevant features. + The goal is to avoid lots of argument checks like in the original stream. The growth rule is the + same as for the original MemoryStream in .net. Also this implementation allows accessing the internal + buffer for all platforms and .net framework versions (which is not available at the regular MemoryStream). + + + + + Gets or sets the content type. + The content type must be a UTF-8 encoded string. The content type value identifies the kind of UTF-8 encoded + payload. + + + + + Gets or sets the correlation data. + In order for the sender to know what sent message the response refers to it can also send correlation data with the + published message. + Hint: MQTT 5 feature only. + + + + + If the DUP flag is set to 0, it indicates that this is the first occasion that the Client or Server has attempted + to send this MQTT PUBLISH Packet. + If the DUP flag is set to 1, it indicates that this might be re-delivery of an earlier attempt to send the Packet. + The DUP flag MUST be set to 1 by the Client or Server when it attempts to re-deliver a PUBLISH Packet + [MQTT-3.3.1.-1]. + The DUP flag MUST be set to 0 for all QoS 0 messages [MQTT-3.3.1-2]. + + + + + Gets or sets the message expiry interval. + A client can set the message expiry interval in seconds for each PUBLISH message individually. + This interval defines the period of time that the broker stores the PUBLISH message for any matching subscribers + that are not currently connected. + When no message expiry interval is set, the broker must store the message for matching subscribers indefinitely. + When the retained=true option is set on the PUBLISH message, this interval also defines how long a message is + retained on a topic. + Hint: MQTT 5 feature only. + + + + + Gets or sets the payload. + The payload is the data bytes sent via the MQTT protocol. + + + + + Get or set ArraySegment style of Payload. + + + + + Gets or sets the payload format indicator. + The payload format indicator is part of any MQTT packet that can contain a payload. The indicator is an optional + byte value. + A value of 0 indicates an “unspecified byte stream”. + A value of 1 indicates a "UTF-8 encoded payload". + If no payload format indicator is provided, the default value is 0. + Hint: MQTT 5 feature only. + + + + + Gets or sets the quality of service level. + The Quality of Service (QoS) level is an agreement between the sender of a message and the receiver of a message + that defines the guarantee of delivery for a specific message. + There are 3 QoS levels in MQTT: + - At most once (0): Message gets delivered no time, once or multiple times. + - At least once (1): Message gets delivered at least once (one time or more often). + - Exactly once (2): Message gets delivered exactly once (It's ensured that the message only comes once). + + + + + Gets or sets the response topic. + In MQTT 5 the ability to publish a response topic was added in the publish message which allows you to implement + the request/response pattern between clients that is common in web applications. + Hint: MQTT 5 feature only. + + + + + Gets or sets a value indicating whether the message should be retained or not. + A retained message is a normal MQTT message with the retained flag set to true. + The broker stores the last retained message and the corresponding QoS for that topic. + + + + + Gets or sets the subscription identifiers. + The client can specify a subscription identifier when subscribing. + The broker will establish and store the mapping relationship between this subscription and subscription identifier + when successfully create or modify subscription. + The broker will return the subscription identifier associated with this PUBLISH packet and the PUBLISH packet to + the client when need to forward PUBLISH packets matching this subscription to this client. + Hint: MQTT 5 feature only. + + + + + Gets or sets the MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected + client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level + separator). + + + + + Gets or sets the topic alias. + Topic aliases were introduced are a mechanism for reducing the size of published packets by reducing the size of + the topic field. + A value of 0 indicates no topic alias is used. + Hint: MQTT 5 feature only. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + Hint: MQTT 5 feature only. + + + + + Adds the content type to the message. + MQTT 5.0.0+ feature. + + + + + Adds the correlation data to the message. + MQTT 5.0.0+ feature. + + + + + Adds the message expiry interval in seconds to the message. + MQTT 5.0.0+ feature. + + + + + Adds the payload format indicator to the message. + MQTT 5.0.0+ feature. + + + + + The quality of service level. + The Quality of Service (QoS) level is an agreement between the sender of a message and the receiver of a message + that defines the guarantee of delivery for a specific message. + There are 3 QoS levels in MQTT: + - At most once (0): Message gets delivered no time, once or multiple times. + - At least once (1): Message gets delivered at least once (one time or more often). + - Exactly once (2): Message gets delivered exactly once (It's ensured that the message only comes once). + + + + + Adds the response topic to the message. + MQTT 5.0.0+ feature. + + + + + A value indicating whether the message should be retained or not. + A retained message is a normal MQTT message with the retained flag set to true. + The broker stores the last retained message and the corresponding QoS for that topic. + + + + + Adds the subscription identifier to the message. + MQTT 5.0.0+ feature. + + + + + The MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected + client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level + separator). + + + + + Adds the topic alias to the message. + MQTT 5.0.0+ feature. + + + + + Adds the user property to the message. + MQTT 5.0.0+ feature. + + + + + The quality of service level. + The Quality of Service (QoS) level is an agreement between the sender of a message and the receiver of a message that defines the guarantee of delivery for a specific message. + There are 3 QoS levels in MQTT: + - At most once (0): Message gets delivered no time, once or multiple times. + - At least once (1): Message gets delivered at least once (one time or more often). + - Exactly once (2): Message gets delivered exactly once (It's ensured that the message only comes once). + + + + + The MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level separator). + + + + Added in MQTTv5.0.0. + + + + Added in MQTTv5. + + + + + Added in MQTTv3.1.1. + + + + + Added in MQTTv5. + + + + + Also called "Clean Start" in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Reason Code is used in MQTTv5.0.0 and backward compatible to v.3.1.1. Return Code is used in MQTTv3.1.1 + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + It is a Protocol Error if the Subscription Identifier has a value of 0. + + + + + Added in MQTTv5. + + + + + Gets or sets a value indicating whether the sender will not receive its own published application messages. + MQTT 5.0.0+ feature. + + + + + Gets or sets the quality of service level. + The Quality of Service (QoS) level is an agreement between the sender of a message and the receiver of a message + that defines the guarantee of delivery for a specific message. + There are 3 QoS levels in MQTT: + - At most once (0): Message gets delivered no time, once or multiple times. + - At least once (1): Message gets delivered at least once (one time or more often). + - Exactly once (2): Message gets delivered exactly once (It's ensured that the message only comes once). + + + + + Gets or sets a value indicating whether messages are retained as published or not. + MQTT 5.0.0+ feature. + + + + + Gets or sets the retain handling. + MQTT 5.0.0+ feature. + + + + + Gets or sets the MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected + client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level + separator). + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + The message is accepted but there are no subscribers. This is sent only by the Server. If the Server knows that there are no matching subscribers, it MAY use this Reason Code instead of 0x00 (Success). + + + + + The reason string is sent to every client via a DISCONNECT packet. + MQTT 5.0.0+ feature. + + + + + The server reference is sent to every client via a DISCONNECT packet. + MQTT 5.0.0+ feature. + + + + + These user properties are sent to every client via a DISCONNECT packet. + MQTT 5.0.0+ feature. + + + + + Gets the application message which was not consumed by any client. + + + + + Gets the ID of the client which has sent the affected application message. + + + + + Gets the packet which was used for acknowledge. This can be a PubAck or PubComp packet. + + + + + Gets the ID of the client which acknowledged a PUBLISH packet. + + + + + Gets whether the PUBLISH packet is fully acknowledged. This is the case for PUBACK (QoS 1) and PUBCOMP (QoS 2. + + + + + Gets the PUBLISH packet which was acknowledged. + + + + + Gets the session items which contain custom user data per session. + + + + + Gets the client identifier of the connected client. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets the endpoint of the connected client. + + + + + Gets the protocol version which is used by the connected client. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the user name of the connected client. + + + + + Gets the user properties sent by the client. + MQTT 5.0.0+ feature. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets the reason code sent by the client. + Only available for clean disconnects. + MQTT 5.0.0+ feature. + + + + + Gets the reason string sent by the client. + Only available for clean disconnects. + MQTT 5.0.0+ feature. + + + + + Gets the session expiry interval sent by the client. + Only available for clean disconnects. + MQTT 5.0.0+ feature. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the user properties sent by the client. + Only available for clean disconnects. + MQTT 5.0.0+ feature. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the topic filter. + The topic filter can contain topics and wildcards. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the topic filter. + The topic filter can contain topics and wildcards. + + + + + Gets or sets whether the enqueue of the application message should be performed or not. + If set to _False_ the client will not receive the application message. + + + + + Indicates if the connection with the sender should be closed. + + + + + Gets the cancellation token from the connection managing thread. + Use this in further event processing. + + + + + Gets the client ID which has sent the packet or will receive the packet. + + + + + Gets the endpoint of the sending or receiving client. + + + + + Gets or sets the MQTT packet which was received or will be sent. + + + + + Gets or sets whether the packet should be processed or not. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the cancellation token which can indicate that the client connection gets down. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets whether the publish should be processed internally. + + + + + Gets the response which will be sent to the client via the PUBACK etc. packets. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the cancellation token which can indicate that the client connection gets down. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets whether the broker should close the client connection. + + + + + Gets or sets whether the broker should create an internal subscription for the client. + The broker can also avoid this and return "success" to the client. + This feature allows using the MQTT Broker as the Frontend and another system as the backend. + + + + + Gets or sets the reason string which will be sent to the client in the SUBACK packet. + + + + + Gets the response which will be sent to the client via the SUBACK packet. + + + + + Gets the current client session. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the topic filter. + The topic filter can contain topics and wildcards. + + + + + Gets or sets the user properties. + MQTT 5.0.0+ feature. + + + + + Gets the cancellation token which can indicate that the client connection gets down. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets whether the broker should close the client connection. + + + + + Gets or sets whether the broker should remove an internal subscription for the client. + The broker can also avoid this and return "success" to the client. + This feature allows using the MQTT Broker as the Frontend and another system as the backend. + + + + + Gets the response which will be sent to the client via the UNSUBACK pocket. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected + client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level + separator). + + + + + Gets or sets the user properties. + MQTT 5.0.0+ feature. + + + + + Gets the will delay interval. + This is the time between the client disconnect and the time the will message will be sent. + + + + + Gets the ID of the session. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the assigned client identifier. + MQTTv5 only. + + + + + Gets or sets the authentication data. + MQTT 5.0.0+ feature. + + + + + Gets or sets the authentication method. + MQTT 5.0.0+ feature. + + + + + Gets the channel adapter. This can be a _MqttConnectionContext_ (used in ASP.NET), a _MqttChannelAdapter_ (used for + TCP or WebSockets) or a custom implementation. + + + + + Gets or sets a value indicating whether clean sessions are used or not. + When a client connects to a broker it can connect using either a non persistent connection (clean session) or a + persistent connection. + With a non persistent connection the broker doesn't store any subscription information or undelivered messages for + the client. + This mode is ideal when the client only publishes messages. + It can also connect as a durable client using a persistent connection. + In this mode, the broker will store subscription information, and undelivered messages for the client. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets the keep alive period. + The connection is normally left open by the client so that is can send and receive data at any time. + If no data flows over an open connection for a certain time period then the client will generate a PINGREQ and + expect to receive a PINGRESP from the broker. + This message exchange confirms that the connection is open and working. + This period is known as the keep alive period. + + + + + A value of 0 indicates that the value is not used. + + + + + Gets or sets the reason code. When a MQTTv3 client connects the enum value must be one which is + also supported in MQTTv3. Otherwise the connection attempt will fail because not all codes can be + converted properly. + MQTT 5.0.0+ feature. + + + + + Gets or sets the receive maximum. + This gives the maximum length of the receive messages. + A value of 0 indicates that the value is not used. + + + + + Gets the request problem information. + MQTT 5.0.0+ feature. + + + + + Gets the request response information. + MQTT 5.0.0+ feature. + + + + + Gets or sets the response authentication data. + MQTT 5.0.0+ feature. + + + + + Gets or sets the response user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Gets or sets the server reference. This can be used together with i.e. "Server Moved" to send + a different server address to the client. + MQTT 5.0.0+ feature. + + + + + Gets the session expiry interval. + The time after a session expires when it's not actively used. + A value of 0 means no expiation. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the topic alias maximum. + This gives the maximum length of the topic alias. + A value of 0 indicates that the value is not used. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Gets or sets the will delay interval. + This is the time between the client disconnect and the time the will message will be sent. + A value of 0 indicates that the value is not used. + + + + + Gets or sets the session items which should be used for all event handlers which are involved in message + processing. + If _null_ is specified the singleton session items from the server are used instead. + + + + + Timestamp of the last package that has been sent to the client ("received" from the client's perspective) + + + + + Timestamp of the last package that has been received from the client ("sent" from the client's perspective) + + + + + Session should persist if CleanSession was set to false (Mqtt3) or if SessionExpiryInterval != 0 (Mqtt5) + + + + + Helper class that stores subscriptions by their topic hash mask. + + + + + Gets or sets whether the server will accept new connections. + If not, the server will close the connection without any notification (DISCONNECT packet). + This feature can be used when the server is shutting down. + + + + + Gives access to the session items which belong to this server. This session items are passed + to several events instead of the client session items if the event is caused by the server instead of a client. + + + + + When this mode is enabled the MQTT server will not close a connection when the + client is currently sending a (large) payload. This may lead to "dead" connections + When this mode is disabled the MQTT server will disconnect a client when the keep + alive timeout is reached even if the client is currently sending a (large) payload. + + + + + Gets or sets the default and initial size of the packet write buffer. + It is recommended to set this to a value close to the usual expected packet size * 1.5. + Do not change this value when no memory issues are experienced. + + + + + Gets or sets the maximum size of the buffer writer. The writer will reduce its internal buffer + to this value after serializing a packet. + Do not change this value when no memory issues are experienced. + + + + + Usually the MQTT packets can be send partially to improve memory allocations. + This is done by using multiple TCP packets or WebSocket frames etc. + Unfortunately not all clients do support this and will close the connection when receiving partial packets. + + + + + Gets or sets whether the sockets keep alive feature should be used. + The value _null_ indicates that the OS and framework defaults should be used. + + + + + Usually the MQTT packets can be send partially. This is done by using multiple TCP packets + or WebSocket frames etc. Unfortunately not all clients do support this feature and + will close the connection when receiving such packets. If such clients are connecting to this + server the flag must be set to _false_. + + + + + Gets or sets the TCP keep alive interval. + The value _null_ indicates that the OS and framework defaults should be used. + + + + + Gets or sets the TCP keep alive retry count. + The value _null_ indicates that the OS and framework defaults should be used. + + + + + Gets or sets the TCP keep alive time. + The value _null_ indicates that the OS and framework defaults should be used. + + + + + This requires admin permissions on Linux. + + + + + Gets or sets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + These disconnect options are sent to every connected client via a DISCONNECT packet. + MQTT 5.0.0+ feature. + + + + + Gets or sets the reason code which is sent to the client. + The subscription is skipped when the value is not GrantedQoS_. + MQTTv5 only. + + + + + Gets or sets the reason code which is sent to the client. + MQTTv5 only. + + + + diff --git a/LeatherProject/packages/MQTTnet.4.3.3.952/lib/net6.0/MQTTnet.xml b/LeatherProject/packages/MQTTnet.4.3.3.952/lib/net6.0/MQTTnet.xml new file mode 100644 index 0000000..d393dbb --- /dev/null +++ b/LeatherProject/packages/MQTTnet.4.3.3.952/lib/net6.0/MQTTnet.xml @@ -0,0 +1,1766 @@ + + + + MQTTnet + + + + + Gets the authentication result. + MQTT 5.0.0+ feature. + + + + + Gets the result code. + MQTTv5 only. + + + + + Gets a value indicating whether a session was already available or not. + MQTTv5 only. + + + + + Gets a value indicating whether wildcards can be used in subscriptions at the current server. + MQTTv5 only. + + + + + Gets whether the server supports retained messages. + MQTTv5 only. + + + + + Gets the client identifier which was chosen by the server. + MQTTv5 only. + + + + + Gets the authentication method. + MQTTv5 only. + + + + + Gets the authentication data. + MQTTv5 only. + + + + + Gets the reason string. + MQTTv5 only. + + + + + Gets the maximum QoS which is supported by the server. + MQTTv5 only. + + + + + Gets the response information. + MQTTv5 only. + + + + + Gets the maximum value for a topic alias. 0 means not supported. + MQTTv5 only. + + + + + Gets an alternate server which should be used instead of the current one. + MQTTv5 only. + + + + + MQTTv5 only. + Gets the keep alive interval which was chosen by the server instead of the + keep alive interval from the client CONNECT packet. + A value of 0 indicates that the feature is not used. + + + + + Gets a value indicating whether the subscription identifiers are available or not. + MQTTv5 only. + + + + + Gets a value indicating whether the shared subscriptions are available or not. + MQTTv5 only. + + + + + Gets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTTv5 only. + + + + + Gets the authentication result. + MQTT 5.0.0+ feature. + + + + + Gets or sets the reason. + MQTT 5.0.0+ feature. + + + + + Gets or sets the reason code. + MQTT 5.0.0+ feature. + + + + + Gets or sets the reason string. + MQTT 5.0.0+ feature. + + + + + Gets or sets the session expiry interval. + MQTT 5.0.0+ feature. + + + + + Gets or sets the user properties. + MQTT 5.0.0+ feature. + + + + + This enum only contains values which are valid when a client sends the reason to the server. + + + + + Gets the reason code. + Hint: MQTT 5 feature only. + + + + + Gets the reason string. + Hint: MQTT 5 feature only. + + + + + Gets the authentication method. + Hint: MQTT 5 feature only. + + + + + Gets the authentication data. + Hint: MQTT 5 feature only. + + + + + Gets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + Hint: MQTT 5 feature only. + + + + + Gets or sets the reason code. + Hint: MQTT 5 feature only. + + + + + Gets or sets the reason string. + Hint: MQTT 5 feature only. + + + + + Gets or sets the authentication data. + Authentication data is binary information used to transmit multiple iterations of cryptographic secrets of protocol steps. + The content of the authentication data is highly dependent on the specific implementation of the authentication method. + Hint: MQTT 5 feature only. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + Hint: MQTT 5 feature only. + + + + + Usually the MQTT packets can be send partially. This is done by using multiple TCP packets + or WebSocket frames etc. Unfortunately not all brokers (like Amazon Web Services (AWS)) do support this feature and + will close the connection when receiving such packets. If such a service is used this flag must + be set to _false_. + + + + + Gets or sets the authentication data. + MQTT 5.0.0+ feature. + + + + + Gets or sets the authentication method. + MQTT 5.0.0+ feature. + + + + + Gets or sets a value indicating whether clean sessions are used or not. + When a client connects to a broker it can connect using either a non persistent connection (clean session) or a + persistent connection. + With a non persistent connection the broker doesn't store any subscription information or undelivered messages for + the client. + This mode is ideal when the client only publishes messages. + It can also connect as a durable client using a persistent connection. + In this mode, the broker will store subscription information, and undelivered messages for the client. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets the keep alive period. + The connection is normally left open by the client so that is can send and receive data at any time. + If no data flows over an open connection for a certain time period then the client will generate a PINGREQ and + expect to receive a PINGRESP from the broker. + This message exchange confirms that the connection is open and working. + This period is known as the keep alive period. + + + + + Gets or sets the maximum packet size. + MQTT 5.0.0+ feature. + + + + + Gets or sets the receive maximum. + This gives the maximum length of the receive messages. + MQTT 5.0.0+ feature. + + + + + Gets or sets the request problem information. + MQTT 5.0.0+ feature. + + + + + Gets or sets the request response information. + MQTT 5.0.0+ feature. + + + + + Gets or sets the session expiry interval. + The time after a session expires when it's not actively used. + MQTT 5.0.0+ feature. + + + + + Gets or sets whether an exception should be thrown when the server has sent a non success ACK packet. + + + + + Gets or sets the timeout which will be applied at socket level and internal operations. + The default value is the same as for sockets in .NET in general. + + + + + Gets or sets the topic alias maximum. + This gives the maximum length of the topic alias. + MQTT 5.0.0+ feature. + + + + + If set to true, the bridge will attempt to indicate to the remote broker that it is a bridge not an ordinary + client. + If successful, this means that loop detection will be more effective and that retained messages will be propagated + correctly. + + Not all brokers support this feature so it may be necessary to set it to false if your bridge does not + connect properly. + + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + When this feature is enabled the client will check if used properties are supported in the selected protocol + version. + This feature can be validated if an application message is generated one time but sent via different protocol + versions. + Default values are applied if the validation is off and features are not supported. + + + + + Gets or sets the content type of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the correlation data of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the will delay interval. + This is the time between the client disconnect and the time the will message will be sent. + MQTT 5.0.0+ feature. + + + + + Gets or sets the message expiry interval of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the payload of the will message. + + + + + Gets or sets the payload format indicator of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the QoS level of the will message. + + + + + Gets or sets the response topic of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the retain flag of the will message. + + + + + Gets or sets the topic of the will message. + + + + + Gets or sets the user properties of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the default and initial size of the packet write buffer. + It is recommended to set this to a value close to the usual expected packet size * 1.5. + Do not change this value when no memory issues are experienced. + + + + + Gets or sets the maximum size of the buffer writer. The writer will reduce its internal buffer + to this value after serializing a packet. + Do not change this value when no memory issues are experienced. + + + + + Clean session is used in MQTT versions below 5.0.0. It is the same as setting "CleanStart". + + + + + Clean start is used in MQTT versions 5.0.0 and higher. It is the same as setting "CleanSession". + + + + + Usually the MQTT packets can be send partially. This is done by using multiple TCP packets + or WebSocket frames etc. Unfortunately not all brokers (like Amazon Web Services (AWS)) do support this feature and + will close the connection when receiving such packets. If such a service is used this flag must + be set to _true_. + + + + + The client will not throw an exception when the MQTT server responses with a non success ACK packet. + This will become the default behavior in future versions of the library. + + + + + Sets the timeout which will be applied at socket level and internal operations. + The default value is the same as for sockets in .NET in general. + + + + + If set to true, the bridge will attempt to indicate to the remote broker that it is a bridge not an ordinary + client. + If successful, this means that loop detection will be more effective and that retained messages will be propagated + correctly. + Not all brokers support this feature so it may be necessary to set it to false if your bridge does not connect + properly. + + + + + Gets the local endpoint (network card) which is used by the client. + Set it to _null_ to let the OS select the network card. + + + + + Gets or sets whether the underlying socket should run in dual mode. + Leaving this _null_ will avoid setting this value at socket level. + Setting this a value other than _null_ will throw an exception when only IPv4 is supported on the machine. + + + + + Gets or sets the provider for certificates. + This provider gets called whenever the client wants to connect + with the server and requires certificates for authentication. + The implementation may return different certificates each time. + + + + + Gets or sets the target host. + If the value is null or empty the same host as the TCP socket host will be used. + + + + + Gets or sets the keep alive interval for the Web Socket connection. + This is not related to the keep alive interval for the MQTT protocol. + + + + + Gets or sets whether the default (system) credentials should be used when connecting via Web Socket connection. + This is not related to the credentials which are used for the MQTT protocol. + + + + + Returns if the overall status of the publish is a success. This can be the reason code _Success_ or + _NoMatchingSubscribers_. _NoMatchingSubscribers_ usually indicates only that no other client is interested in the + topic but overall transmit + to the server etc. was a success. + + + + + Gets the packet identifier which was used for this publish. + + + + + Gets or sets the reason code. + MQTT 5.0.0+ feature. + + + + + Gets or sets the reason string. + MQTT 5.0.0+ feature. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Gets or sets whether the library should send MQTT ACK packets automatically if required. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets whether this message was handled. + This value can be used in user code for custom control flow. + + + + + Gets the identifier of the MQTT packet + + + + + Indicates if the processing of this PUBLISH packet has failed. + If the processing has failed the client will not send an ACK packet etc. + + + + + Gets or sets the reason code which will be sent to the server. + + + + + Gets or sets the reason string which will be sent to the server in the ACK packet. + + + + + Gets or sets the user properties which will be sent to the server in the ACK packet etc. + + + + + Gets or sets the subscription identifier. + The client can specify a subscription identifier when subscribing. + The broker will establish and store the mapping relationship between this subscription and subscription identifier + when successfully create or modify subscription. + The broker will return the subscription identifier associated with this PUBLISH packet and the PUBLISH packet to + the client when need to forward PUBLISH packets matching this subscription to this client. + MQTT 5.0.0+ feature. + + + + + Gets or sets a list of topic filters the client wants to subscribe to. + Topic filters can include regular topics or wild cards. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Adds the user property to the subscribe options. + MQTT 5.0.0+ feature. + + + + + Gets the result for every topic filter item. + + + + + Gets the user properties which were part of the SUBACK packet. + MQTT 5.0.0+ feature. + + + + + Gets the reason string. + MQTT 5.0.0+ feature. + + + + + Gets the packet identifier which was used. + + + + + Gets or sets the topic filter. + The topic filter can contain topics and wildcards. + + + + + Gets or sets the result code. + MQTT 5.0.0+ feature. + + + + + Gets or sets a list of topic filters the client wants to unsubscribe from. + Topic filters can include regular topics or wild cards. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Adds the user property to the unsubscribe options. + MQTT 5.0.0+ feature. + + + + + Adds the user property to the unsubscribe options. + MQTT 5.0.0+ feature. + + + + + Gets the result for every topic filter item. + + + + + Gets the packet identifier which was used. + + + + + Gets the reason string. + MQTT 5.0.0+ feature. + + + + + Gets the user properties which were part of the UNSUBACK packet. + MQTT 5.0.0+ feature. + + + + + Gets or sets the result code. + MQTT 5.0.0+ feature. + + + + + Gets or sets the topic filter. + The topic filter can contain topics and wildcards. + + + + + This logger fires an event when a new message was published. + + + + + This logger does nothing with the messages. + + + + + This is a custom implementation of a memory stream which provides only MQTTnet relevant features. + The goal is to avoid lots of argument checks like in the original stream. The growth rule is the + same as for the original MemoryStream in .net. Also this implementation allows accessing the internal + buffer for all platforms and .net framework versions (which is not available at the regular MemoryStream). + + + + + Gets or sets the content type. + The content type must be a UTF-8 encoded string. The content type value identifies the kind of UTF-8 encoded + payload. + + + + + Gets or sets the correlation data. + In order for the sender to know what sent message the response refers to it can also send correlation data with the + published message. + Hint: MQTT 5 feature only. + + + + + If the DUP flag is set to 0, it indicates that this is the first occasion that the Client or Server has attempted + to send this MQTT PUBLISH Packet. + If the DUP flag is set to 1, it indicates that this might be re-delivery of an earlier attempt to send the Packet. + The DUP flag MUST be set to 1 by the Client or Server when it attempts to re-deliver a PUBLISH Packet + [MQTT-3.3.1.-1]. + The DUP flag MUST be set to 0 for all QoS 0 messages [MQTT-3.3.1-2]. + + + + + Gets or sets the message expiry interval. + A client can set the message expiry interval in seconds for each PUBLISH message individually. + This interval defines the period of time that the broker stores the PUBLISH message for any matching subscribers + that are not currently connected. + When no message expiry interval is set, the broker must store the message for matching subscribers indefinitely. + When the retained=true option is set on the PUBLISH message, this interval also defines how long a message is + retained on a topic. + Hint: MQTT 5 feature only. + + + + + Gets or sets the payload. + The payload is the data bytes sent via the MQTT protocol. + + + + + Get or set ArraySegment style of Payload. + + + + + Gets or sets the payload format indicator. + The payload format indicator is part of any MQTT packet that can contain a payload. The indicator is an optional + byte value. + A value of 0 indicates an “unspecified byte stream”. + A value of 1 indicates a "UTF-8 encoded payload". + If no payload format indicator is provided, the default value is 0. + Hint: MQTT 5 feature only. + + + + + Gets or sets the quality of service level. + The Quality of Service (QoS) level is an agreement between the sender of a message and the receiver of a message + that defines the guarantee of delivery for a specific message. + There are 3 QoS levels in MQTT: + - At most once (0): Message gets delivered no time, once or multiple times. + - At least once (1): Message gets delivered at least once (one time or more often). + - Exactly once (2): Message gets delivered exactly once (It's ensured that the message only comes once). + + + + + Gets or sets the response topic. + In MQTT 5 the ability to publish a response topic was added in the publish message which allows you to implement + the request/response pattern between clients that is common in web applications. + Hint: MQTT 5 feature only. + + + + + Gets or sets a value indicating whether the message should be retained or not. + A retained message is a normal MQTT message with the retained flag set to true. + The broker stores the last retained message and the corresponding QoS for that topic. + + + + + Gets or sets the subscription identifiers. + The client can specify a subscription identifier when subscribing. + The broker will establish and store the mapping relationship between this subscription and subscription identifier + when successfully create or modify subscription. + The broker will return the subscription identifier associated with this PUBLISH packet and the PUBLISH packet to + the client when need to forward PUBLISH packets matching this subscription to this client. + Hint: MQTT 5 feature only. + + + + + Gets or sets the MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected + client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level + separator). + + + + + Gets or sets the topic alias. + Topic aliases were introduced are a mechanism for reducing the size of published packets by reducing the size of + the topic field. + A value of 0 indicates no topic alias is used. + Hint: MQTT 5 feature only. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + Hint: MQTT 5 feature only. + + + + + Adds the content type to the message. + MQTT 5.0.0+ feature. + + + + + Adds the correlation data to the message. + MQTT 5.0.0+ feature. + + + + + Adds the message expiry interval in seconds to the message. + MQTT 5.0.0+ feature. + + + + + Adds the payload format indicator to the message. + MQTT 5.0.0+ feature. + + + + + The quality of service level. + The Quality of Service (QoS) level is an agreement between the sender of a message and the receiver of a message + that defines the guarantee of delivery for a specific message. + There are 3 QoS levels in MQTT: + - At most once (0): Message gets delivered no time, once or multiple times. + - At least once (1): Message gets delivered at least once (one time or more often). + - Exactly once (2): Message gets delivered exactly once (It's ensured that the message only comes once). + + + + + Adds the response topic to the message. + MQTT 5.0.0+ feature. + + + + + A value indicating whether the message should be retained or not. + A retained message is a normal MQTT message with the retained flag set to true. + The broker stores the last retained message and the corresponding QoS for that topic. + + + + + Adds the subscription identifier to the message. + MQTT 5.0.0+ feature. + + + + + The MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected + client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level + separator). + + + + + Adds the topic alias to the message. + MQTT 5.0.0+ feature. + + + + + Adds the user property to the message. + MQTT 5.0.0+ feature. + + + + + The quality of service level. + The Quality of Service (QoS) level is an agreement between the sender of a message and the receiver of a message that defines the guarantee of delivery for a specific message. + There are 3 QoS levels in MQTT: + - At most once (0): Message gets delivered no time, once or multiple times. + - At least once (1): Message gets delivered at least once (one time or more often). + - Exactly once (2): Message gets delivered exactly once (It's ensured that the message only comes once). + + + + + The MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level separator). + + + + Added in MQTTv5.0.0. + + + + Added in MQTTv5. + + + + + Added in MQTTv3.1.1. + + + + + Added in MQTTv5. + + + + + Also called "Clean Start" in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Reason Code is used in MQTTv5.0.0 and backward compatible to v.3.1.1. Return Code is used in MQTTv3.1.1 + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + It is a Protocol Error if the Subscription Identifier has a value of 0. + + + + + Added in MQTTv5. + + + + + Gets or sets a value indicating whether the sender will not receive its own published application messages. + MQTT 5.0.0+ feature. + + + + + Gets or sets the quality of service level. + The Quality of Service (QoS) level is an agreement between the sender of a message and the receiver of a message + that defines the guarantee of delivery for a specific message. + There are 3 QoS levels in MQTT: + - At most once (0): Message gets delivered no time, once or multiple times. + - At least once (1): Message gets delivered at least once (one time or more often). + - Exactly once (2): Message gets delivered exactly once (It's ensured that the message only comes once). + + + + + Gets or sets a value indicating whether messages are retained as published or not. + MQTT 5.0.0+ feature. + + + + + Gets or sets the retain handling. + MQTT 5.0.0+ feature. + + + + + Gets or sets the MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected + client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level + separator). + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + The message is accepted but there are no subscribers. This is sent only by the Server. If the Server knows that there are no matching subscribers, it MAY use this Reason Code instead of 0x00 (Success). + + + + + The reason string is sent to every client via a DISCONNECT packet. + MQTT 5.0.0+ feature. + + + + + The server reference is sent to every client via a DISCONNECT packet. + MQTT 5.0.0+ feature. + + + + + These user properties are sent to every client via a DISCONNECT packet. + MQTT 5.0.0+ feature. + + + + + Gets the application message which was not consumed by any client. + + + + + Gets the ID of the client which has sent the affected application message. + + + + + Gets the packet which was used for acknowledge. This can be a PubAck or PubComp packet. + + + + + Gets the ID of the client which acknowledged a PUBLISH packet. + + + + + Gets whether the PUBLISH packet is fully acknowledged. This is the case for PUBACK (QoS 1) and PUBCOMP (QoS 2. + + + + + Gets the PUBLISH packet which was acknowledged. + + + + + Gets the session items which contain custom user data per session. + + + + + Gets the client identifier of the connected client. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets the endpoint of the connected client. + + + + + Gets the protocol version which is used by the connected client. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the user name of the connected client. + + + + + Gets the user properties sent by the client. + MQTT 5.0.0+ feature. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets the reason code sent by the client. + Only available for clean disconnects. + MQTT 5.0.0+ feature. + + + + + Gets the reason string sent by the client. + Only available for clean disconnects. + MQTT 5.0.0+ feature. + + + + + Gets the session expiry interval sent by the client. + Only available for clean disconnects. + MQTT 5.0.0+ feature. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the user properties sent by the client. + Only available for clean disconnects. + MQTT 5.0.0+ feature. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the topic filter. + The topic filter can contain topics and wildcards. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the topic filter. + The topic filter can contain topics and wildcards. + + + + + Gets or sets whether the enqueue of the application message should be performed or not. + If set to _False_ the client will not receive the application message. + + + + + Indicates if the connection with the sender should be closed. + + + + + Gets the cancellation token from the connection managing thread. + Use this in further event processing. + + + + + Gets the client ID which has sent the packet or will receive the packet. + + + + + Gets the endpoint of the sending or receiving client. + + + + + Gets or sets the MQTT packet which was received or will be sent. + + + + + Gets or sets whether the packet should be processed or not. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the cancellation token which can indicate that the client connection gets down. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets whether the publish should be processed internally. + + + + + Gets the response which will be sent to the client via the PUBACK etc. packets. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the cancellation token which can indicate that the client connection gets down. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets whether the broker should close the client connection. + + + + + Gets or sets whether the broker should create an internal subscription for the client. + The broker can also avoid this and return "success" to the client. + This feature allows using the MQTT Broker as the Frontend and another system as the backend. + + + + + Gets or sets the reason string which will be sent to the client in the SUBACK packet. + + + + + Gets the response which will be sent to the client via the SUBACK packet. + + + + + Gets the current client session. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the topic filter. + The topic filter can contain topics and wildcards. + + + + + Gets or sets the user properties. + MQTT 5.0.0+ feature. + + + + + Gets the cancellation token which can indicate that the client connection gets down. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets whether the broker should close the client connection. + + + + + Gets or sets whether the broker should remove an internal subscription for the client. + The broker can also avoid this and return "success" to the client. + This feature allows using the MQTT Broker as the Frontend and another system as the backend. + + + + + Gets the response which will be sent to the client via the UNSUBACK pocket. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected + client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level + separator). + + + + + Gets or sets the user properties. + MQTT 5.0.0+ feature. + + + + + Gets the will delay interval. + This is the time between the client disconnect and the time the will message will be sent. + + + + + Gets the ID of the session. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the assigned client identifier. + MQTTv5 only. + + + + + Gets or sets the authentication data. + MQTT 5.0.0+ feature. + + + + + Gets or sets the authentication method. + MQTT 5.0.0+ feature. + + + + + Gets the channel adapter. This can be a _MqttConnectionContext_ (used in ASP.NET), a _MqttChannelAdapter_ (used for + TCP or WebSockets) or a custom implementation. + + + + + Gets or sets a value indicating whether clean sessions are used or not. + When a client connects to a broker it can connect using either a non persistent connection (clean session) or a + persistent connection. + With a non persistent connection the broker doesn't store any subscription information or undelivered messages for + the client. + This mode is ideal when the client only publishes messages. + It can also connect as a durable client using a persistent connection. + In this mode, the broker will store subscription information, and undelivered messages for the client. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets the keep alive period. + The connection is normally left open by the client so that is can send and receive data at any time. + If no data flows over an open connection for a certain time period then the client will generate a PINGREQ and + expect to receive a PINGRESP from the broker. + This message exchange confirms that the connection is open and working. + This period is known as the keep alive period. + + + + + A value of 0 indicates that the value is not used. + + + + + Gets or sets the reason code. When a MQTTv3 client connects the enum value must be one which is + also supported in MQTTv3. Otherwise the connection attempt will fail because not all codes can be + converted properly. + MQTT 5.0.0+ feature. + + + + + Gets or sets the receive maximum. + This gives the maximum length of the receive messages. + A value of 0 indicates that the value is not used. + + + + + Gets the request problem information. + MQTT 5.0.0+ feature. + + + + + Gets the request response information. + MQTT 5.0.0+ feature. + + + + + Gets or sets the response authentication data. + MQTT 5.0.0+ feature. + + + + + Gets or sets the response user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Gets or sets the server reference. This can be used together with i.e. "Server Moved" to send + a different server address to the client. + MQTT 5.0.0+ feature. + + + + + Gets the session expiry interval. + The time after a session expires when it's not actively used. + A value of 0 means no expiation. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the topic alias maximum. + This gives the maximum length of the topic alias. + A value of 0 indicates that the value is not used. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Gets or sets the will delay interval. + This is the time between the client disconnect and the time the will message will be sent. + A value of 0 indicates that the value is not used. + + + + + Gets or sets the session items which should be used for all event handlers which are involved in message + processing. + If _null_ is specified the singleton session items from the server are used instead. + + + + + Timestamp of the last package that has been sent to the client ("received" from the client's perspective) + + + + + Timestamp of the last package that has been received from the client ("sent" from the client's perspective) + + + + + Session should persist if CleanSession was set to false (Mqtt3) or if SessionExpiryInterval != 0 (Mqtt5) + + + + + Helper class that stores subscriptions by their topic hash mask. + + + + + Gets or sets whether the server will accept new connections. + If not, the server will close the connection without any notification (DISCONNECT packet). + This feature can be used when the server is shutting down. + + + + + Gives access to the session items which belong to this server. This session items are passed + to several events instead of the client session items if the event is caused by the server instead of a client. + + + + + When this mode is enabled the MQTT server will not close a connection when the + client is currently sending a (large) payload. This may lead to "dead" connections + When this mode is disabled the MQTT server will disconnect a client when the keep + alive timeout is reached even if the client is currently sending a (large) payload. + + + + + Gets or sets the default and initial size of the packet write buffer. + It is recommended to set this to a value close to the usual expected packet size * 1.5. + Do not change this value when no memory issues are experienced. + + + + + Gets or sets the maximum size of the buffer writer. The writer will reduce its internal buffer + to this value after serializing a packet. + Do not change this value when no memory issues are experienced. + + + + + Usually the MQTT packets can be send partially to improve memory allocations. + This is done by using multiple TCP packets or WebSocket frames etc. + Unfortunately not all clients do support this and will close the connection when receiving partial packets. + + + + + Gets or sets whether the sockets keep alive feature should be used. + The value _null_ indicates that the OS and framework defaults should be used. + + + + + Usually the MQTT packets can be send partially. This is done by using multiple TCP packets + or WebSocket frames etc. Unfortunately not all clients do support this feature and + will close the connection when receiving such packets. If such clients are connecting to this + server the flag must be set to _false_. + + + + + Gets or sets the TCP keep alive interval. + The value _null_ indicates that the OS and framework defaults should be used. + + + + + Gets or sets the TCP keep alive retry count. + The value _null_ indicates that the OS and framework defaults should be used. + + + + + Gets or sets the TCP keep alive time. + The value _null_ indicates that the OS and framework defaults should be used. + + + + + This requires admin permissions on Linux. + + + + + Gets or sets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + These disconnect options are sent to every connected client via a DISCONNECT packet. + MQTT 5.0.0+ feature. + + + + + Gets or sets the reason code which is sent to the client. + The subscription is skipped when the value is not GrantedQoS_. + MQTTv5 only. + + + + + Gets or sets the reason code which is sent to the client. + MQTTv5 only. + + + + diff --git a/LeatherProject/packages/MQTTnet.4.3.3.952/lib/net7.0/MQTTnet.xml b/LeatherProject/packages/MQTTnet.4.3.3.952/lib/net7.0/MQTTnet.xml new file mode 100644 index 0000000..d393dbb --- /dev/null +++ b/LeatherProject/packages/MQTTnet.4.3.3.952/lib/net7.0/MQTTnet.xml @@ -0,0 +1,1766 @@ + + + + MQTTnet + + + + + Gets the authentication result. + MQTT 5.0.0+ feature. + + + + + Gets the result code. + MQTTv5 only. + + + + + Gets a value indicating whether a session was already available or not. + MQTTv5 only. + + + + + Gets a value indicating whether wildcards can be used in subscriptions at the current server. + MQTTv5 only. + + + + + Gets whether the server supports retained messages. + MQTTv5 only. + + + + + Gets the client identifier which was chosen by the server. + MQTTv5 only. + + + + + Gets the authentication method. + MQTTv5 only. + + + + + Gets the authentication data. + MQTTv5 only. + + + + + Gets the reason string. + MQTTv5 only. + + + + + Gets the maximum QoS which is supported by the server. + MQTTv5 only. + + + + + Gets the response information. + MQTTv5 only. + + + + + Gets the maximum value for a topic alias. 0 means not supported. + MQTTv5 only. + + + + + Gets an alternate server which should be used instead of the current one. + MQTTv5 only. + + + + + MQTTv5 only. + Gets the keep alive interval which was chosen by the server instead of the + keep alive interval from the client CONNECT packet. + A value of 0 indicates that the feature is not used. + + + + + Gets a value indicating whether the subscription identifiers are available or not. + MQTTv5 only. + + + + + Gets a value indicating whether the shared subscriptions are available or not. + MQTTv5 only. + + + + + Gets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTTv5 only. + + + + + Gets the authentication result. + MQTT 5.0.0+ feature. + + + + + Gets or sets the reason. + MQTT 5.0.0+ feature. + + + + + Gets or sets the reason code. + MQTT 5.0.0+ feature. + + + + + Gets or sets the reason string. + MQTT 5.0.0+ feature. + + + + + Gets or sets the session expiry interval. + MQTT 5.0.0+ feature. + + + + + Gets or sets the user properties. + MQTT 5.0.0+ feature. + + + + + This enum only contains values which are valid when a client sends the reason to the server. + + + + + Gets the reason code. + Hint: MQTT 5 feature only. + + + + + Gets the reason string. + Hint: MQTT 5 feature only. + + + + + Gets the authentication method. + Hint: MQTT 5 feature only. + + + + + Gets the authentication data. + Hint: MQTT 5 feature only. + + + + + Gets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + Hint: MQTT 5 feature only. + + + + + Gets or sets the reason code. + Hint: MQTT 5 feature only. + + + + + Gets or sets the reason string. + Hint: MQTT 5 feature only. + + + + + Gets or sets the authentication data. + Authentication data is binary information used to transmit multiple iterations of cryptographic secrets of protocol steps. + The content of the authentication data is highly dependent on the specific implementation of the authentication method. + Hint: MQTT 5 feature only. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + Hint: MQTT 5 feature only. + + + + + Usually the MQTT packets can be send partially. This is done by using multiple TCP packets + or WebSocket frames etc. Unfortunately not all brokers (like Amazon Web Services (AWS)) do support this feature and + will close the connection when receiving such packets. If such a service is used this flag must + be set to _false_. + + + + + Gets or sets the authentication data. + MQTT 5.0.0+ feature. + + + + + Gets or sets the authentication method. + MQTT 5.0.0+ feature. + + + + + Gets or sets a value indicating whether clean sessions are used or not. + When a client connects to a broker it can connect using either a non persistent connection (clean session) or a + persistent connection. + With a non persistent connection the broker doesn't store any subscription information or undelivered messages for + the client. + This mode is ideal when the client only publishes messages. + It can also connect as a durable client using a persistent connection. + In this mode, the broker will store subscription information, and undelivered messages for the client. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets the keep alive period. + The connection is normally left open by the client so that is can send and receive data at any time. + If no data flows over an open connection for a certain time period then the client will generate a PINGREQ and + expect to receive a PINGRESP from the broker. + This message exchange confirms that the connection is open and working. + This period is known as the keep alive period. + + + + + Gets or sets the maximum packet size. + MQTT 5.0.0+ feature. + + + + + Gets or sets the receive maximum. + This gives the maximum length of the receive messages. + MQTT 5.0.0+ feature. + + + + + Gets or sets the request problem information. + MQTT 5.0.0+ feature. + + + + + Gets or sets the request response information. + MQTT 5.0.0+ feature. + + + + + Gets or sets the session expiry interval. + The time after a session expires when it's not actively used. + MQTT 5.0.0+ feature. + + + + + Gets or sets whether an exception should be thrown when the server has sent a non success ACK packet. + + + + + Gets or sets the timeout which will be applied at socket level and internal operations. + The default value is the same as for sockets in .NET in general. + + + + + Gets or sets the topic alias maximum. + This gives the maximum length of the topic alias. + MQTT 5.0.0+ feature. + + + + + If set to true, the bridge will attempt to indicate to the remote broker that it is a bridge not an ordinary + client. + If successful, this means that loop detection will be more effective and that retained messages will be propagated + correctly. + + Not all brokers support this feature so it may be necessary to set it to false if your bridge does not + connect properly. + + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + When this feature is enabled the client will check if used properties are supported in the selected protocol + version. + This feature can be validated if an application message is generated one time but sent via different protocol + versions. + Default values are applied if the validation is off and features are not supported. + + + + + Gets or sets the content type of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the correlation data of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the will delay interval. + This is the time between the client disconnect and the time the will message will be sent. + MQTT 5.0.0+ feature. + + + + + Gets or sets the message expiry interval of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the payload of the will message. + + + + + Gets or sets the payload format indicator of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the QoS level of the will message. + + + + + Gets or sets the response topic of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the retain flag of the will message. + + + + + Gets or sets the topic of the will message. + + + + + Gets or sets the user properties of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the default and initial size of the packet write buffer. + It is recommended to set this to a value close to the usual expected packet size * 1.5. + Do not change this value when no memory issues are experienced. + + + + + Gets or sets the maximum size of the buffer writer. The writer will reduce its internal buffer + to this value after serializing a packet. + Do not change this value when no memory issues are experienced. + + + + + Clean session is used in MQTT versions below 5.0.0. It is the same as setting "CleanStart". + + + + + Clean start is used in MQTT versions 5.0.0 and higher. It is the same as setting "CleanSession". + + + + + Usually the MQTT packets can be send partially. This is done by using multiple TCP packets + or WebSocket frames etc. Unfortunately not all brokers (like Amazon Web Services (AWS)) do support this feature and + will close the connection when receiving such packets. If such a service is used this flag must + be set to _true_. + + + + + The client will not throw an exception when the MQTT server responses with a non success ACK packet. + This will become the default behavior in future versions of the library. + + + + + Sets the timeout which will be applied at socket level and internal operations. + The default value is the same as for sockets in .NET in general. + + + + + If set to true, the bridge will attempt to indicate to the remote broker that it is a bridge not an ordinary + client. + If successful, this means that loop detection will be more effective and that retained messages will be propagated + correctly. + Not all brokers support this feature so it may be necessary to set it to false if your bridge does not connect + properly. + + + + + Gets the local endpoint (network card) which is used by the client. + Set it to _null_ to let the OS select the network card. + + + + + Gets or sets whether the underlying socket should run in dual mode. + Leaving this _null_ will avoid setting this value at socket level. + Setting this a value other than _null_ will throw an exception when only IPv4 is supported on the machine. + + + + + Gets or sets the provider for certificates. + This provider gets called whenever the client wants to connect + with the server and requires certificates for authentication. + The implementation may return different certificates each time. + + + + + Gets or sets the target host. + If the value is null or empty the same host as the TCP socket host will be used. + + + + + Gets or sets the keep alive interval for the Web Socket connection. + This is not related to the keep alive interval for the MQTT protocol. + + + + + Gets or sets whether the default (system) credentials should be used when connecting via Web Socket connection. + This is not related to the credentials which are used for the MQTT protocol. + + + + + Returns if the overall status of the publish is a success. This can be the reason code _Success_ or + _NoMatchingSubscribers_. _NoMatchingSubscribers_ usually indicates only that no other client is interested in the + topic but overall transmit + to the server etc. was a success. + + + + + Gets the packet identifier which was used for this publish. + + + + + Gets or sets the reason code. + MQTT 5.0.0+ feature. + + + + + Gets or sets the reason string. + MQTT 5.0.0+ feature. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Gets or sets whether the library should send MQTT ACK packets automatically if required. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets whether this message was handled. + This value can be used in user code for custom control flow. + + + + + Gets the identifier of the MQTT packet + + + + + Indicates if the processing of this PUBLISH packet has failed. + If the processing has failed the client will not send an ACK packet etc. + + + + + Gets or sets the reason code which will be sent to the server. + + + + + Gets or sets the reason string which will be sent to the server in the ACK packet. + + + + + Gets or sets the user properties which will be sent to the server in the ACK packet etc. + + + + + Gets or sets the subscription identifier. + The client can specify a subscription identifier when subscribing. + The broker will establish and store the mapping relationship between this subscription and subscription identifier + when successfully create or modify subscription. + The broker will return the subscription identifier associated with this PUBLISH packet and the PUBLISH packet to + the client when need to forward PUBLISH packets matching this subscription to this client. + MQTT 5.0.0+ feature. + + + + + Gets or sets a list of topic filters the client wants to subscribe to. + Topic filters can include regular topics or wild cards. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Adds the user property to the subscribe options. + MQTT 5.0.0+ feature. + + + + + Gets the result for every topic filter item. + + + + + Gets the user properties which were part of the SUBACK packet. + MQTT 5.0.0+ feature. + + + + + Gets the reason string. + MQTT 5.0.0+ feature. + + + + + Gets the packet identifier which was used. + + + + + Gets or sets the topic filter. + The topic filter can contain topics and wildcards. + + + + + Gets or sets the result code. + MQTT 5.0.0+ feature. + + + + + Gets or sets a list of topic filters the client wants to unsubscribe from. + Topic filters can include regular topics or wild cards. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Adds the user property to the unsubscribe options. + MQTT 5.0.0+ feature. + + + + + Adds the user property to the unsubscribe options. + MQTT 5.0.0+ feature. + + + + + Gets the result for every topic filter item. + + + + + Gets the packet identifier which was used. + + + + + Gets the reason string. + MQTT 5.0.0+ feature. + + + + + Gets the user properties which were part of the UNSUBACK packet. + MQTT 5.0.0+ feature. + + + + + Gets or sets the result code. + MQTT 5.0.0+ feature. + + + + + Gets or sets the topic filter. + The topic filter can contain topics and wildcards. + + + + + This logger fires an event when a new message was published. + + + + + This logger does nothing with the messages. + + + + + This is a custom implementation of a memory stream which provides only MQTTnet relevant features. + The goal is to avoid lots of argument checks like in the original stream. The growth rule is the + same as for the original MemoryStream in .net. Also this implementation allows accessing the internal + buffer for all platforms and .net framework versions (which is not available at the regular MemoryStream). + + + + + Gets or sets the content type. + The content type must be a UTF-8 encoded string. The content type value identifies the kind of UTF-8 encoded + payload. + + + + + Gets or sets the correlation data. + In order for the sender to know what sent message the response refers to it can also send correlation data with the + published message. + Hint: MQTT 5 feature only. + + + + + If the DUP flag is set to 0, it indicates that this is the first occasion that the Client or Server has attempted + to send this MQTT PUBLISH Packet. + If the DUP flag is set to 1, it indicates that this might be re-delivery of an earlier attempt to send the Packet. + The DUP flag MUST be set to 1 by the Client or Server when it attempts to re-deliver a PUBLISH Packet + [MQTT-3.3.1.-1]. + The DUP flag MUST be set to 0 for all QoS 0 messages [MQTT-3.3.1-2]. + + + + + Gets or sets the message expiry interval. + A client can set the message expiry interval in seconds for each PUBLISH message individually. + This interval defines the period of time that the broker stores the PUBLISH message for any matching subscribers + that are not currently connected. + When no message expiry interval is set, the broker must store the message for matching subscribers indefinitely. + When the retained=true option is set on the PUBLISH message, this interval also defines how long a message is + retained on a topic. + Hint: MQTT 5 feature only. + + + + + Gets or sets the payload. + The payload is the data bytes sent via the MQTT protocol. + + + + + Get or set ArraySegment style of Payload. + + + + + Gets or sets the payload format indicator. + The payload format indicator is part of any MQTT packet that can contain a payload. The indicator is an optional + byte value. + A value of 0 indicates an “unspecified byte stream”. + A value of 1 indicates a "UTF-8 encoded payload". + If no payload format indicator is provided, the default value is 0. + Hint: MQTT 5 feature only. + + + + + Gets or sets the quality of service level. + The Quality of Service (QoS) level is an agreement between the sender of a message and the receiver of a message + that defines the guarantee of delivery for a specific message. + There are 3 QoS levels in MQTT: + - At most once (0): Message gets delivered no time, once or multiple times. + - At least once (1): Message gets delivered at least once (one time or more often). + - Exactly once (2): Message gets delivered exactly once (It's ensured that the message only comes once). + + + + + Gets or sets the response topic. + In MQTT 5 the ability to publish a response topic was added in the publish message which allows you to implement + the request/response pattern between clients that is common in web applications. + Hint: MQTT 5 feature only. + + + + + Gets or sets a value indicating whether the message should be retained or not. + A retained message is a normal MQTT message with the retained flag set to true. + The broker stores the last retained message and the corresponding QoS for that topic. + + + + + Gets or sets the subscription identifiers. + The client can specify a subscription identifier when subscribing. + The broker will establish and store the mapping relationship between this subscription and subscription identifier + when successfully create or modify subscription. + The broker will return the subscription identifier associated with this PUBLISH packet and the PUBLISH packet to + the client when need to forward PUBLISH packets matching this subscription to this client. + Hint: MQTT 5 feature only. + + + + + Gets or sets the MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected + client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level + separator). + + + + + Gets or sets the topic alias. + Topic aliases were introduced are a mechanism for reducing the size of published packets by reducing the size of + the topic field. + A value of 0 indicates no topic alias is used. + Hint: MQTT 5 feature only. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + Hint: MQTT 5 feature only. + + + + + Adds the content type to the message. + MQTT 5.0.0+ feature. + + + + + Adds the correlation data to the message. + MQTT 5.0.0+ feature. + + + + + Adds the message expiry interval in seconds to the message. + MQTT 5.0.0+ feature. + + + + + Adds the payload format indicator to the message. + MQTT 5.0.0+ feature. + + + + + The quality of service level. + The Quality of Service (QoS) level is an agreement between the sender of a message and the receiver of a message + that defines the guarantee of delivery for a specific message. + There are 3 QoS levels in MQTT: + - At most once (0): Message gets delivered no time, once or multiple times. + - At least once (1): Message gets delivered at least once (one time or more often). + - Exactly once (2): Message gets delivered exactly once (It's ensured that the message only comes once). + + + + + Adds the response topic to the message. + MQTT 5.0.0+ feature. + + + + + A value indicating whether the message should be retained or not. + A retained message is a normal MQTT message with the retained flag set to true. + The broker stores the last retained message and the corresponding QoS for that topic. + + + + + Adds the subscription identifier to the message. + MQTT 5.0.0+ feature. + + + + + The MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected + client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level + separator). + + + + + Adds the topic alias to the message. + MQTT 5.0.0+ feature. + + + + + Adds the user property to the message. + MQTT 5.0.0+ feature. + + + + + The quality of service level. + The Quality of Service (QoS) level is an agreement between the sender of a message and the receiver of a message that defines the guarantee of delivery for a specific message. + There are 3 QoS levels in MQTT: + - At most once (0): Message gets delivered no time, once or multiple times. + - At least once (1): Message gets delivered at least once (one time or more often). + - Exactly once (2): Message gets delivered exactly once (It's ensured that the message only comes once). + + + + + The MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level separator). + + + + Added in MQTTv5.0.0. + + + + Added in MQTTv5. + + + + + Added in MQTTv3.1.1. + + + + + Added in MQTTv5. + + + + + Also called "Clean Start" in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Reason Code is used in MQTTv5.0.0 and backward compatible to v.3.1.1. Return Code is used in MQTTv3.1.1 + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + It is a Protocol Error if the Subscription Identifier has a value of 0. + + + + + Added in MQTTv5. + + + + + Gets or sets a value indicating whether the sender will not receive its own published application messages. + MQTT 5.0.0+ feature. + + + + + Gets or sets the quality of service level. + The Quality of Service (QoS) level is an agreement between the sender of a message and the receiver of a message + that defines the guarantee of delivery for a specific message. + There are 3 QoS levels in MQTT: + - At most once (0): Message gets delivered no time, once or multiple times. + - At least once (1): Message gets delivered at least once (one time or more often). + - Exactly once (2): Message gets delivered exactly once (It's ensured that the message only comes once). + + + + + Gets or sets a value indicating whether messages are retained as published or not. + MQTT 5.0.0+ feature. + + + + + Gets or sets the retain handling. + MQTT 5.0.0+ feature. + + + + + Gets or sets the MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected + client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level + separator). + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + The message is accepted but there are no subscribers. This is sent only by the Server. If the Server knows that there are no matching subscribers, it MAY use this Reason Code instead of 0x00 (Success). + + + + + The reason string is sent to every client via a DISCONNECT packet. + MQTT 5.0.0+ feature. + + + + + The server reference is sent to every client via a DISCONNECT packet. + MQTT 5.0.0+ feature. + + + + + These user properties are sent to every client via a DISCONNECT packet. + MQTT 5.0.0+ feature. + + + + + Gets the application message which was not consumed by any client. + + + + + Gets the ID of the client which has sent the affected application message. + + + + + Gets the packet which was used for acknowledge. This can be a PubAck or PubComp packet. + + + + + Gets the ID of the client which acknowledged a PUBLISH packet. + + + + + Gets whether the PUBLISH packet is fully acknowledged. This is the case for PUBACK (QoS 1) and PUBCOMP (QoS 2. + + + + + Gets the PUBLISH packet which was acknowledged. + + + + + Gets the session items which contain custom user data per session. + + + + + Gets the client identifier of the connected client. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets the endpoint of the connected client. + + + + + Gets the protocol version which is used by the connected client. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the user name of the connected client. + + + + + Gets the user properties sent by the client. + MQTT 5.0.0+ feature. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets the reason code sent by the client. + Only available for clean disconnects. + MQTT 5.0.0+ feature. + + + + + Gets the reason string sent by the client. + Only available for clean disconnects. + MQTT 5.0.0+ feature. + + + + + Gets the session expiry interval sent by the client. + Only available for clean disconnects. + MQTT 5.0.0+ feature. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the user properties sent by the client. + Only available for clean disconnects. + MQTT 5.0.0+ feature. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the topic filter. + The topic filter can contain topics and wildcards. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the topic filter. + The topic filter can contain topics and wildcards. + + + + + Gets or sets whether the enqueue of the application message should be performed or not. + If set to _False_ the client will not receive the application message. + + + + + Indicates if the connection with the sender should be closed. + + + + + Gets the cancellation token from the connection managing thread. + Use this in further event processing. + + + + + Gets the client ID which has sent the packet or will receive the packet. + + + + + Gets the endpoint of the sending or receiving client. + + + + + Gets or sets the MQTT packet which was received or will be sent. + + + + + Gets or sets whether the packet should be processed or not. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the cancellation token which can indicate that the client connection gets down. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets whether the publish should be processed internally. + + + + + Gets the response which will be sent to the client via the PUBACK etc. packets. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the cancellation token which can indicate that the client connection gets down. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets whether the broker should close the client connection. + + + + + Gets or sets whether the broker should create an internal subscription for the client. + The broker can also avoid this and return "success" to the client. + This feature allows using the MQTT Broker as the Frontend and another system as the backend. + + + + + Gets or sets the reason string which will be sent to the client in the SUBACK packet. + + + + + Gets the response which will be sent to the client via the SUBACK packet. + + + + + Gets the current client session. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the topic filter. + The topic filter can contain topics and wildcards. + + + + + Gets or sets the user properties. + MQTT 5.0.0+ feature. + + + + + Gets the cancellation token which can indicate that the client connection gets down. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets whether the broker should close the client connection. + + + + + Gets or sets whether the broker should remove an internal subscription for the client. + The broker can also avoid this and return "success" to the client. + This feature allows using the MQTT Broker as the Frontend and another system as the backend. + + + + + Gets the response which will be sent to the client via the UNSUBACK pocket. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected + client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level + separator). + + + + + Gets or sets the user properties. + MQTT 5.0.0+ feature. + + + + + Gets the will delay interval. + This is the time between the client disconnect and the time the will message will be sent. + + + + + Gets the ID of the session. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the assigned client identifier. + MQTTv5 only. + + + + + Gets or sets the authentication data. + MQTT 5.0.0+ feature. + + + + + Gets or sets the authentication method. + MQTT 5.0.0+ feature. + + + + + Gets the channel adapter. This can be a _MqttConnectionContext_ (used in ASP.NET), a _MqttChannelAdapter_ (used for + TCP or WebSockets) or a custom implementation. + + + + + Gets or sets a value indicating whether clean sessions are used or not. + When a client connects to a broker it can connect using either a non persistent connection (clean session) or a + persistent connection. + With a non persistent connection the broker doesn't store any subscription information or undelivered messages for + the client. + This mode is ideal when the client only publishes messages. + It can also connect as a durable client using a persistent connection. + In this mode, the broker will store subscription information, and undelivered messages for the client. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets the keep alive period. + The connection is normally left open by the client so that is can send and receive data at any time. + If no data flows over an open connection for a certain time period then the client will generate a PINGREQ and + expect to receive a PINGRESP from the broker. + This message exchange confirms that the connection is open and working. + This period is known as the keep alive period. + + + + + A value of 0 indicates that the value is not used. + + + + + Gets or sets the reason code. When a MQTTv3 client connects the enum value must be one which is + also supported in MQTTv3. Otherwise the connection attempt will fail because not all codes can be + converted properly. + MQTT 5.0.0+ feature. + + + + + Gets or sets the receive maximum. + This gives the maximum length of the receive messages. + A value of 0 indicates that the value is not used. + + + + + Gets the request problem information. + MQTT 5.0.0+ feature. + + + + + Gets the request response information. + MQTT 5.0.0+ feature. + + + + + Gets or sets the response authentication data. + MQTT 5.0.0+ feature. + + + + + Gets or sets the response user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Gets or sets the server reference. This can be used together with i.e. "Server Moved" to send + a different server address to the client. + MQTT 5.0.0+ feature. + + + + + Gets the session expiry interval. + The time after a session expires when it's not actively used. + A value of 0 means no expiation. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the topic alias maximum. + This gives the maximum length of the topic alias. + A value of 0 indicates that the value is not used. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Gets or sets the will delay interval. + This is the time between the client disconnect and the time the will message will be sent. + A value of 0 indicates that the value is not used. + + + + + Gets or sets the session items which should be used for all event handlers which are involved in message + processing. + If _null_ is specified the singleton session items from the server are used instead. + + + + + Timestamp of the last package that has been sent to the client ("received" from the client's perspective) + + + + + Timestamp of the last package that has been received from the client ("sent" from the client's perspective) + + + + + Session should persist if CleanSession was set to false (Mqtt3) or if SessionExpiryInterval != 0 (Mqtt5) + + + + + Helper class that stores subscriptions by their topic hash mask. + + + + + Gets or sets whether the server will accept new connections. + If not, the server will close the connection without any notification (DISCONNECT packet). + This feature can be used when the server is shutting down. + + + + + Gives access to the session items which belong to this server. This session items are passed + to several events instead of the client session items if the event is caused by the server instead of a client. + + + + + When this mode is enabled the MQTT server will not close a connection when the + client is currently sending a (large) payload. This may lead to "dead" connections + When this mode is disabled the MQTT server will disconnect a client when the keep + alive timeout is reached even if the client is currently sending a (large) payload. + + + + + Gets or sets the default and initial size of the packet write buffer. + It is recommended to set this to a value close to the usual expected packet size * 1.5. + Do not change this value when no memory issues are experienced. + + + + + Gets or sets the maximum size of the buffer writer. The writer will reduce its internal buffer + to this value after serializing a packet. + Do not change this value when no memory issues are experienced. + + + + + Usually the MQTT packets can be send partially to improve memory allocations. + This is done by using multiple TCP packets or WebSocket frames etc. + Unfortunately not all clients do support this and will close the connection when receiving partial packets. + + + + + Gets or sets whether the sockets keep alive feature should be used. + The value _null_ indicates that the OS and framework defaults should be used. + + + + + Usually the MQTT packets can be send partially. This is done by using multiple TCP packets + or WebSocket frames etc. Unfortunately not all clients do support this feature and + will close the connection when receiving such packets. If such clients are connecting to this + server the flag must be set to _false_. + + + + + Gets or sets the TCP keep alive interval. + The value _null_ indicates that the OS and framework defaults should be used. + + + + + Gets or sets the TCP keep alive retry count. + The value _null_ indicates that the OS and framework defaults should be used. + + + + + Gets or sets the TCP keep alive time. + The value _null_ indicates that the OS and framework defaults should be used. + + + + + This requires admin permissions on Linux. + + + + + Gets or sets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + These disconnect options are sent to every connected client via a DISCONNECT packet. + MQTT 5.0.0+ feature. + + + + + Gets or sets the reason code which is sent to the client. + The subscription is skipped when the value is not GrantedQoS_. + MQTTv5 only. + + + + + Gets or sets the reason code which is sent to the client. + MQTTv5 only. + + + + diff --git a/LeatherProject/packages/MQTTnet.4.3.3.952/lib/netcoreapp3.1/MQTTnet.xml b/LeatherProject/packages/MQTTnet.4.3.3.952/lib/netcoreapp3.1/MQTTnet.xml new file mode 100644 index 0000000..d393dbb --- /dev/null +++ b/LeatherProject/packages/MQTTnet.4.3.3.952/lib/netcoreapp3.1/MQTTnet.xml @@ -0,0 +1,1766 @@ + + + + MQTTnet + + + + + Gets the authentication result. + MQTT 5.0.0+ feature. + + + + + Gets the result code. + MQTTv5 only. + + + + + Gets a value indicating whether a session was already available or not. + MQTTv5 only. + + + + + Gets a value indicating whether wildcards can be used in subscriptions at the current server. + MQTTv5 only. + + + + + Gets whether the server supports retained messages. + MQTTv5 only. + + + + + Gets the client identifier which was chosen by the server. + MQTTv5 only. + + + + + Gets the authentication method. + MQTTv5 only. + + + + + Gets the authentication data. + MQTTv5 only. + + + + + Gets the reason string. + MQTTv5 only. + + + + + Gets the maximum QoS which is supported by the server. + MQTTv5 only. + + + + + Gets the response information. + MQTTv5 only. + + + + + Gets the maximum value for a topic alias. 0 means not supported. + MQTTv5 only. + + + + + Gets an alternate server which should be used instead of the current one. + MQTTv5 only. + + + + + MQTTv5 only. + Gets the keep alive interval which was chosen by the server instead of the + keep alive interval from the client CONNECT packet. + A value of 0 indicates that the feature is not used. + + + + + Gets a value indicating whether the subscription identifiers are available or not. + MQTTv5 only. + + + + + Gets a value indicating whether the shared subscriptions are available or not. + MQTTv5 only. + + + + + Gets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTTv5 only. + + + + + Gets the authentication result. + MQTT 5.0.0+ feature. + + + + + Gets or sets the reason. + MQTT 5.0.0+ feature. + + + + + Gets or sets the reason code. + MQTT 5.0.0+ feature. + + + + + Gets or sets the reason string. + MQTT 5.0.0+ feature. + + + + + Gets or sets the session expiry interval. + MQTT 5.0.0+ feature. + + + + + Gets or sets the user properties. + MQTT 5.0.0+ feature. + + + + + This enum only contains values which are valid when a client sends the reason to the server. + + + + + Gets the reason code. + Hint: MQTT 5 feature only. + + + + + Gets the reason string. + Hint: MQTT 5 feature only. + + + + + Gets the authentication method. + Hint: MQTT 5 feature only. + + + + + Gets the authentication data. + Hint: MQTT 5 feature only. + + + + + Gets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + Hint: MQTT 5 feature only. + + + + + Gets or sets the reason code. + Hint: MQTT 5 feature only. + + + + + Gets or sets the reason string. + Hint: MQTT 5 feature only. + + + + + Gets or sets the authentication data. + Authentication data is binary information used to transmit multiple iterations of cryptographic secrets of protocol steps. + The content of the authentication data is highly dependent on the specific implementation of the authentication method. + Hint: MQTT 5 feature only. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + Hint: MQTT 5 feature only. + + + + + Usually the MQTT packets can be send partially. This is done by using multiple TCP packets + or WebSocket frames etc. Unfortunately not all brokers (like Amazon Web Services (AWS)) do support this feature and + will close the connection when receiving such packets. If such a service is used this flag must + be set to _false_. + + + + + Gets or sets the authentication data. + MQTT 5.0.0+ feature. + + + + + Gets or sets the authentication method. + MQTT 5.0.0+ feature. + + + + + Gets or sets a value indicating whether clean sessions are used or not. + When a client connects to a broker it can connect using either a non persistent connection (clean session) or a + persistent connection. + With a non persistent connection the broker doesn't store any subscription information or undelivered messages for + the client. + This mode is ideal when the client only publishes messages. + It can also connect as a durable client using a persistent connection. + In this mode, the broker will store subscription information, and undelivered messages for the client. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets the keep alive period. + The connection is normally left open by the client so that is can send and receive data at any time. + If no data flows over an open connection for a certain time period then the client will generate a PINGREQ and + expect to receive a PINGRESP from the broker. + This message exchange confirms that the connection is open and working. + This period is known as the keep alive period. + + + + + Gets or sets the maximum packet size. + MQTT 5.0.0+ feature. + + + + + Gets or sets the receive maximum. + This gives the maximum length of the receive messages. + MQTT 5.0.0+ feature. + + + + + Gets or sets the request problem information. + MQTT 5.0.0+ feature. + + + + + Gets or sets the request response information. + MQTT 5.0.0+ feature. + + + + + Gets or sets the session expiry interval. + The time after a session expires when it's not actively used. + MQTT 5.0.0+ feature. + + + + + Gets or sets whether an exception should be thrown when the server has sent a non success ACK packet. + + + + + Gets or sets the timeout which will be applied at socket level and internal operations. + The default value is the same as for sockets in .NET in general. + + + + + Gets or sets the topic alias maximum. + This gives the maximum length of the topic alias. + MQTT 5.0.0+ feature. + + + + + If set to true, the bridge will attempt to indicate to the remote broker that it is a bridge not an ordinary + client. + If successful, this means that loop detection will be more effective and that retained messages will be propagated + correctly. + + Not all brokers support this feature so it may be necessary to set it to false if your bridge does not + connect properly. + + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + When this feature is enabled the client will check if used properties are supported in the selected protocol + version. + This feature can be validated if an application message is generated one time but sent via different protocol + versions. + Default values are applied if the validation is off and features are not supported. + + + + + Gets or sets the content type of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the correlation data of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the will delay interval. + This is the time between the client disconnect and the time the will message will be sent. + MQTT 5.0.0+ feature. + + + + + Gets or sets the message expiry interval of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the payload of the will message. + + + + + Gets or sets the payload format indicator of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the QoS level of the will message. + + + + + Gets or sets the response topic of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the retain flag of the will message. + + + + + Gets or sets the topic of the will message. + + + + + Gets or sets the user properties of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the default and initial size of the packet write buffer. + It is recommended to set this to a value close to the usual expected packet size * 1.5. + Do not change this value when no memory issues are experienced. + + + + + Gets or sets the maximum size of the buffer writer. The writer will reduce its internal buffer + to this value after serializing a packet. + Do not change this value when no memory issues are experienced. + + + + + Clean session is used in MQTT versions below 5.0.0. It is the same as setting "CleanStart". + + + + + Clean start is used in MQTT versions 5.0.0 and higher. It is the same as setting "CleanSession". + + + + + Usually the MQTT packets can be send partially. This is done by using multiple TCP packets + or WebSocket frames etc. Unfortunately not all brokers (like Amazon Web Services (AWS)) do support this feature and + will close the connection when receiving such packets. If such a service is used this flag must + be set to _true_. + + + + + The client will not throw an exception when the MQTT server responses with a non success ACK packet. + This will become the default behavior in future versions of the library. + + + + + Sets the timeout which will be applied at socket level and internal operations. + The default value is the same as for sockets in .NET in general. + + + + + If set to true, the bridge will attempt to indicate to the remote broker that it is a bridge not an ordinary + client. + If successful, this means that loop detection will be more effective and that retained messages will be propagated + correctly. + Not all brokers support this feature so it may be necessary to set it to false if your bridge does not connect + properly. + + + + + Gets the local endpoint (network card) which is used by the client. + Set it to _null_ to let the OS select the network card. + + + + + Gets or sets whether the underlying socket should run in dual mode. + Leaving this _null_ will avoid setting this value at socket level. + Setting this a value other than _null_ will throw an exception when only IPv4 is supported on the machine. + + + + + Gets or sets the provider for certificates. + This provider gets called whenever the client wants to connect + with the server and requires certificates for authentication. + The implementation may return different certificates each time. + + + + + Gets or sets the target host. + If the value is null or empty the same host as the TCP socket host will be used. + + + + + Gets or sets the keep alive interval for the Web Socket connection. + This is not related to the keep alive interval for the MQTT protocol. + + + + + Gets or sets whether the default (system) credentials should be used when connecting via Web Socket connection. + This is not related to the credentials which are used for the MQTT protocol. + + + + + Returns if the overall status of the publish is a success. This can be the reason code _Success_ or + _NoMatchingSubscribers_. _NoMatchingSubscribers_ usually indicates only that no other client is interested in the + topic but overall transmit + to the server etc. was a success. + + + + + Gets the packet identifier which was used for this publish. + + + + + Gets or sets the reason code. + MQTT 5.0.0+ feature. + + + + + Gets or sets the reason string. + MQTT 5.0.0+ feature. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Gets or sets whether the library should send MQTT ACK packets automatically if required. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets whether this message was handled. + This value can be used in user code for custom control flow. + + + + + Gets the identifier of the MQTT packet + + + + + Indicates if the processing of this PUBLISH packet has failed. + If the processing has failed the client will not send an ACK packet etc. + + + + + Gets or sets the reason code which will be sent to the server. + + + + + Gets or sets the reason string which will be sent to the server in the ACK packet. + + + + + Gets or sets the user properties which will be sent to the server in the ACK packet etc. + + + + + Gets or sets the subscription identifier. + The client can specify a subscription identifier when subscribing. + The broker will establish and store the mapping relationship between this subscription and subscription identifier + when successfully create or modify subscription. + The broker will return the subscription identifier associated with this PUBLISH packet and the PUBLISH packet to + the client when need to forward PUBLISH packets matching this subscription to this client. + MQTT 5.0.0+ feature. + + + + + Gets or sets a list of topic filters the client wants to subscribe to. + Topic filters can include regular topics or wild cards. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Adds the user property to the subscribe options. + MQTT 5.0.0+ feature. + + + + + Gets the result for every topic filter item. + + + + + Gets the user properties which were part of the SUBACK packet. + MQTT 5.0.0+ feature. + + + + + Gets the reason string. + MQTT 5.0.0+ feature. + + + + + Gets the packet identifier which was used. + + + + + Gets or sets the topic filter. + The topic filter can contain topics and wildcards. + + + + + Gets or sets the result code. + MQTT 5.0.0+ feature. + + + + + Gets or sets a list of topic filters the client wants to unsubscribe from. + Topic filters can include regular topics or wild cards. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Adds the user property to the unsubscribe options. + MQTT 5.0.0+ feature. + + + + + Adds the user property to the unsubscribe options. + MQTT 5.0.0+ feature. + + + + + Gets the result for every topic filter item. + + + + + Gets the packet identifier which was used. + + + + + Gets the reason string. + MQTT 5.0.0+ feature. + + + + + Gets the user properties which were part of the UNSUBACK packet. + MQTT 5.0.0+ feature. + + + + + Gets or sets the result code. + MQTT 5.0.0+ feature. + + + + + Gets or sets the topic filter. + The topic filter can contain topics and wildcards. + + + + + This logger fires an event when a new message was published. + + + + + This logger does nothing with the messages. + + + + + This is a custom implementation of a memory stream which provides only MQTTnet relevant features. + The goal is to avoid lots of argument checks like in the original stream. The growth rule is the + same as for the original MemoryStream in .net. Also this implementation allows accessing the internal + buffer for all platforms and .net framework versions (which is not available at the regular MemoryStream). + + + + + Gets or sets the content type. + The content type must be a UTF-8 encoded string. The content type value identifies the kind of UTF-8 encoded + payload. + + + + + Gets or sets the correlation data. + In order for the sender to know what sent message the response refers to it can also send correlation data with the + published message. + Hint: MQTT 5 feature only. + + + + + If the DUP flag is set to 0, it indicates that this is the first occasion that the Client or Server has attempted + to send this MQTT PUBLISH Packet. + If the DUP flag is set to 1, it indicates that this might be re-delivery of an earlier attempt to send the Packet. + The DUP flag MUST be set to 1 by the Client or Server when it attempts to re-deliver a PUBLISH Packet + [MQTT-3.3.1.-1]. + The DUP flag MUST be set to 0 for all QoS 0 messages [MQTT-3.3.1-2]. + + + + + Gets or sets the message expiry interval. + A client can set the message expiry interval in seconds for each PUBLISH message individually. + This interval defines the period of time that the broker stores the PUBLISH message for any matching subscribers + that are not currently connected. + When no message expiry interval is set, the broker must store the message for matching subscribers indefinitely. + When the retained=true option is set on the PUBLISH message, this interval also defines how long a message is + retained on a topic. + Hint: MQTT 5 feature only. + + + + + Gets or sets the payload. + The payload is the data bytes sent via the MQTT protocol. + + + + + Get or set ArraySegment style of Payload. + + + + + Gets or sets the payload format indicator. + The payload format indicator is part of any MQTT packet that can contain a payload. The indicator is an optional + byte value. + A value of 0 indicates an “unspecified byte stream”. + A value of 1 indicates a "UTF-8 encoded payload". + If no payload format indicator is provided, the default value is 0. + Hint: MQTT 5 feature only. + + + + + Gets or sets the quality of service level. + The Quality of Service (QoS) level is an agreement between the sender of a message and the receiver of a message + that defines the guarantee of delivery for a specific message. + There are 3 QoS levels in MQTT: + - At most once (0): Message gets delivered no time, once or multiple times. + - At least once (1): Message gets delivered at least once (one time or more often). + - Exactly once (2): Message gets delivered exactly once (It's ensured that the message only comes once). + + + + + Gets or sets the response topic. + In MQTT 5 the ability to publish a response topic was added in the publish message which allows you to implement + the request/response pattern between clients that is common in web applications. + Hint: MQTT 5 feature only. + + + + + Gets or sets a value indicating whether the message should be retained or not. + A retained message is a normal MQTT message with the retained flag set to true. + The broker stores the last retained message and the corresponding QoS for that topic. + + + + + Gets or sets the subscription identifiers. + The client can specify a subscription identifier when subscribing. + The broker will establish and store the mapping relationship between this subscription and subscription identifier + when successfully create or modify subscription. + The broker will return the subscription identifier associated with this PUBLISH packet and the PUBLISH packet to + the client when need to forward PUBLISH packets matching this subscription to this client. + Hint: MQTT 5 feature only. + + + + + Gets or sets the MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected + client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level + separator). + + + + + Gets or sets the topic alias. + Topic aliases were introduced are a mechanism for reducing the size of published packets by reducing the size of + the topic field. + A value of 0 indicates no topic alias is used. + Hint: MQTT 5 feature only. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + Hint: MQTT 5 feature only. + + + + + Adds the content type to the message. + MQTT 5.0.0+ feature. + + + + + Adds the correlation data to the message. + MQTT 5.0.0+ feature. + + + + + Adds the message expiry interval in seconds to the message. + MQTT 5.0.0+ feature. + + + + + Adds the payload format indicator to the message. + MQTT 5.0.0+ feature. + + + + + The quality of service level. + The Quality of Service (QoS) level is an agreement between the sender of a message and the receiver of a message + that defines the guarantee of delivery for a specific message. + There are 3 QoS levels in MQTT: + - At most once (0): Message gets delivered no time, once or multiple times. + - At least once (1): Message gets delivered at least once (one time or more often). + - Exactly once (2): Message gets delivered exactly once (It's ensured that the message only comes once). + + + + + Adds the response topic to the message. + MQTT 5.0.0+ feature. + + + + + A value indicating whether the message should be retained or not. + A retained message is a normal MQTT message with the retained flag set to true. + The broker stores the last retained message and the corresponding QoS for that topic. + + + + + Adds the subscription identifier to the message. + MQTT 5.0.0+ feature. + + + + + The MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected + client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level + separator). + + + + + Adds the topic alias to the message. + MQTT 5.0.0+ feature. + + + + + Adds the user property to the message. + MQTT 5.0.0+ feature. + + + + + The quality of service level. + The Quality of Service (QoS) level is an agreement between the sender of a message and the receiver of a message that defines the guarantee of delivery for a specific message. + There are 3 QoS levels in MQTT: + - At most once (0): Message gets delivered no time, once or multiple times. + - At least once (1): Message gets delivered at least once (one time or more often). + - Exactly once (2): Message gets delivered exactly once (It's ensured that the message only comes once). + + + + + The MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level separator). + + + + Added in MQTTv5.0.0. + + + + Added in MQTTv5. + + + + + Added in MQTTv3.1.1. + + + + + Added in MQTTv5. + + + + + Also called "Clean Start" in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Reason Code is used in MQTTv5.0.0 and backward compatible to v.3.1.1. Return Code is used in MQTTv3.1.1 + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + It is a Protocol Error if the Subscription Identifier has a value of 0. + + + + + Added in MQTTv5. + + + + + Gets or sets a value indicating whether the sender will not receive its own published application messages. + MQTT 5.0.0+ feature. + + + + + Gets or sets the quality of service level. + The Quality of Service (QoS) level is an agreement between the sender of a message and the receiver of a message + that defines the guarantee of delivery for a specific message. + There are 3 QoS levels in MQTT: + - At most once (0): Message gets delivered no time, once or multiple times. + - At least once (1): Message gets delivered at least once (one time or more often). + - Exactly once (2): Message gets delivered exactly once (It's ensured that the message only comes once). + + + + + Gets or sets a value indicating whether messages are retained as published or not. + MQTT 5.0.0+ feature. + + + + + Gets or sets the retain handling. + MQTT 5.0.0+ feature. + + + + + Gets or sets the MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected + client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level + separator). + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + The message is accepted but there are no subscribers. This is sent only by the Server. If the Server knows that there are no matching subscribers, it MAY use this Reason Code instead of 0x00 (Success). + + + + + The reason string is sent to every client via a DISCONNECT packet. + MQTT 5.0.0+ feature. + + + + + The server reference is sent to every client via a DISCONNECT packet. + MQTT 5.0.0+ feature. + + + + + These user properties are sent to every client via a DISCONNECT packet. + MQTT 5.0.0+ feature. + + + + + Gets the application message which was not consumed by any client. + + + + + Gets the ID of the client which has sent the affected application message. + + + + + Gets the packet which was used for acknowledge. This can be a PubAck or PubComp packet. + + + + + Gets the ID of the client which acknowledged a PUBLISH packet. + + + + + Gets whether the PUBLISH packet is fully acknowledged. This is the case for PUBACK (QoS 1) and PUBCOMP (QoS 2. + + + + + Gets the PUBLISH packet which was acknowledged. + + + + + Gets the session items which contain custom user data per session. + + + + + Gets the client identifier of the connected client. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets the endpoint of the connected client. + + + + + Gets the protocol version which is used by the connected client. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the user name of the connected client. + + + + + Gets the user properties sent by the client. + MQTT 5.0.0+ feature. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets the reason code sent by the client. + Only available for clean disconnects. + MQTT 5.0.0+ feature. + + + + + Gets the reason string sent by the client. + Only available for clean disconnects. + MQTT 5.0.0+ feature. + + + + + Gets the session expiry interval sent by the client. + Only available for clean disconnects. + MQTT 5.0.0+ feature. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the user properties sent by the client. + Only available for clean disconnects. + MQTT 5.0.0+ feature. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the topic filter. + The topic filter can contain topics and wildcards. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the topic filter. + The topic filter can contain topics and wildcards. + + + + + Gets or sets whether the enqueue of the application message should be performed or not. + If set to _False_ the client will not receive the application message. + + + + + Indicates if the connection with the sender should be closed. + + + + + Gets the cancellation token from the connection managing thread. + Use this in further event processing. + + + + + Gets the client ID which has sent the packet or will receive the packet. + + + + + Gets the endpoint of the sending or receiving client. + + + + + Gets or sets the MQTT packet which was received or will be sent. + + + + + Gets or sets whether the packet should be processed or not. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the cancellation token which can indicate that the client connection gets down. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets whether the publish should be processed internally. + + + + + Gets the response which will be sent to the client via the PUBACK etc. packets. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the cancellation token which can indicate that the client connection gets down. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets whether the broker should close the client connection. + + + + + Gets or sets whether the broker should create an internal subscription for the client. + The broker can also avoid this and return "success" to the client. + This feature allows using the MQTT Broker as the Frontend and another system as the backend. + + + + + Gets or sets the reason string which will be sent to the client in the SUBACK packet. + + + + + Gets the response which will be sent to the client via the SUBACK packet. + + + + + Gets the current client session. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the topic filter. + The topic filter can contain topics and wildcards. + + + + + Gets or sets the user properties. + MQTT 5.0.0+ feature. + + + + + Gets the cancellation token which can indicate that the client connection gets down. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets whether the broker should close the client connection. + + + + + Gets or sets whether the broker should remove an internal subscription for the client. + The broker can also avoid this and return "success" to the client. + This feature allows using the MQTT Broker as the Frontend and another system as the backend. + + + + + Gets the response which will be sent to the client via the UNSUBACK pocket. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected + client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level + separator). + + + + + Gets or sets the user properties. + MQTT 5.0.0+ feature. + + + + + Gets the will delay interval. + This is the time between the client disconnect and the time the will message will be sent. + + + + + Gets the ID of the session. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the assigned client identifier. + MQTTv5 only. + + + + + Gets or sets the authentication data. + MQTT 5.0.0+ feature. + + + + + Gets or sets the authentication method. + MQTT 5.0.0+ feature. + + + + + Gets the channel adapter. This can be a _MqttConnectionContext_ (used in ASP.NET), a _MqttChannelAdapter_ (used for + TCP or WebSockets) or a custom implementation. + + + + + Gets or sets a value indicating whether clean sessions are used or not. + When a client connects to a broker it can connect using either a non persistent connection (clean session) or a + persistent connection. + With a non persistent connection the broker doesn't store any subscription information or undelivered messages for + the client. + This mode is ideal when the client only publishes messages. + It can also connect as a durable client using a persistent connection. + In this mode, the broker will store subscription information, and undelivered messages for the client. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets the keep alive period. + The connection is normally left open by the client so that is can send and receive data at any time. + If no data flows over an open connection for a certain time period then the client will generate a PINGREQ and + expect to receive a PINGRESP from the broker. + This message exchange confirms that the connection is open and working. + This period is known as the keep alive period. + + + + + A value of 0 indicates that the value is not used. + + + + + Gets or sets the reason code. When a MQTTv3 client connects the enum value must be one which is + also supported in MQTTv3. Otherwise the connection attempt will fail because not all codes can be + converted properly. + MQTT 5.0.0+ feature. + + + + + Gets or sets the receive maximum. + This gives the maximum length of the receive messages. + A value of 0 indicates that the value is not used. + + + + + Gets the request problem information. + MQTT 5.0.0+ feature. + + + + + Gets the request response information. + MQTT 5.0.0+ feature. + + + + + Gets or sets the response authentication data. + MQTT 5.0.0+ feature. + + + + + Gets or sets the response user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Gets or sets the server reference. This can be used together with i.e. "Server Moved" to send + a different server address to the client. + MQTT 5.0.0+ feature. + + + + + Gets the session expiry interval. + The time after a session expires when it's not actively used. + A value of 0 means no expiation. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the topic alias maximum. + This gives the maximum length of the topic alias. + A value of 0 indicates that the value is not used. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Gets or sets the will delay interval. + This is the time between the client disconnect and the time the will message will be sent. + A value of 0 indicates that the value is not used. + + + + + Gets or sets the session items which should be used for all event handlers which are involved in message + processing. + If _null_ is specified the singleton session items from the server are used instead. + + + + + Timestamp of the last package that has been sent to the client ("received" from the client's perspective) + + + + + Timestamp of the last package that has been received from the client ("sent" from the client's perspective) + + + + + Session should persist if CleanSession was set to false (Mqtt3) or if SessionExpiryInterval != 0 (Mqtt5) + + + + + Helper class that stores subscriptions by their topic hash mask. + + + + + Gets or sets whether the server will accept new connections. + If not, the server will close the connection without any notification (DISCONNECT packet). + This feature can be used when the server is shutting down. + + + + + Gives access to the session items which belong to this server. This session items are passed + to several events instead of the client session items if the event is caused by the server instead of a client. + + + + + When this mode is enabled the MQTT server will not close a connection when the + client is currently sending a (large) payload. This may lead to "dead" connections + When this mode is disabled the MQTT server will disconnect a client when the keep + alive timeout is reached even if the client is currently sending a (large) payload. + + + + + Gets or sets the default and initial size of the packet write buffer. + It is recommended to set this to a value close to the usual expected packet size * 1.5. + Do not change this value when no memory issues are experienced. + + + + + Gets or sets the maximum size of the buffer writer. The writer will reduce its internal buffer + to this value after serializing a packet. + Do not change this value when no memory issues are experienced. + + + + + Usually the MQTT packets can be send partially to improve memory allocations. + This is done by using multiple TCP packets or WebSocket frames etc. + Unfortunately not all clients do support this and will close the connection when receiving partial packets. + + + + + Gets or sets whether the sockets keep alive feature should be used. + The value _null_ indicates that the OS and framework defaults should be used. + + + + + Usually the MQTT packets can be send partially. This is done by using multiple TCP packets + or WebSocket frames etc. Unfortunately not all clients do support this feature and + will close the connection when receiving such packets. If such clients are connecting to this + server the flag must be set to _false_. + + + + + Gets or sets the TCP keep alive interval. + The value _null_ indicates that the OS and framework defaults should be used. + + + + + Gets or sets the TCP keep alive retry count. + The value _null_ indicates that the OS and framework defaults should be used. + + + + + Gets or sets the TCP keep alive time. + The value _null_ indicates that the OS and framework defaults should be used. + + + + + This requires admin permissions on Linux. + + + + + Gets or sets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + These disconnect options are sent to every connected client via a DISCONNECT packet. + MQTT 5.0.0+ feature. + + + + + Gets or sets the reason code which is sent to the client. + The subscription is skipped when the value is not GrantedQoS_. + MQTTv5 only. + + + + + Gets or sets the reason code which is sent to the client. + MQTTv5 only. + + + + diff --git a/LeatherProject/packages/MQTTnet.4.3.3.952/lib/netstandard1.3/MQTTnet.xml b/LeatherProject/packages/MQTTnet.4.3.3.952/lib/netstandard1.3/MQTTnet.xml new file mode 100644 index 0000000..965d0ca --- /dev/null +++ b/LeatherProject/packages/MQTTnet.4.3.3.952/lib/netstandard1.3/MQTTnet.xml @@ -0,0 +1,1754 @@ + + + + MQTTnet + + + + + Gets the authentication result. + MQTT 5.0.0+ feature. + + + + + Gets the result code. + MQTTv5 only. + + + + + Gets a value indicating whether a session was already available or not. + MQTTv5 only. + + + + + Gets a value indicating whether wildcards can be used in subscriptions at the current server. + MQTTv5 only. + + + + + Gets whether the server supports retained messages. + MQTTv5 only. + + + + + Gets the client identifier which was chosen by the server. + MQTTv5 only. + + + + + Gets the authentication method. + MQTTv5 only. + + + + + Gets the authentication data. + MQTTv5 only. + + + + + Gets the reason string. + MQTTv5 only. + + + + + Gets the maximum QoS which is supported by the server. + MQTTv5 only. + + + + + Gets the response information. + MQTTv5 only. + + + + + Gets the maximum value for a topic alias. 0 means not supported. + MQTTv5 only. + + + + + Gets an alternate server which should be used instead of the current one. + MQTTv5 only. + + + + + MQTTv5 only. + Gets the keep alive interval which was chosen by the server instead of the + keep alive interval from the client CONNECT packet. + A value of 0 indicates that the feature is not used. + + + + + Gets a value indicating whether the subscription identifiers are available or not. + MQTTv5 only. + + + + + Gets a value indicating whether the shared subscriptions are available or not. + MQTTv5 only. + + + + + Gets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTTv5 only. + + + + + Gets the authentication result. + MQTT 5.0.0+ feature. + + + + + Gets or sets the reason. + MQTT 5.0.0+ feature. + + + + + Gets or sets the reason code. + MQTT 5.0.0+ feature. + + + + + Gets or sets the reason string. + MQTT 5.0.0+ feature. + + + + + Gets or sets the session expiry interval. + MQTT 5.0.0+ feature. + + + + + Gets or sets the user properties. + MQTT 5.0.0+ feature. + + + + + This enum only contains values which are valid when a client sends the reason to the server. + + + + + Gets the reason code. + Hint: MQTT 5 feature only. + + + + + Gets the reason string. + Hint: MQTT 5 feature only. + + + + + Gets the authentication method. + Hint: MQTT 5 feature only. + + + + + Gets the authentication data. + Hint: MQTT 5 feature only. + + + + + Gets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + Hint: MQTT 5 feature only. + + + + + Gets or sets the reason code. + Hint: MQTT 5 feature only. + + + + + Gets or sets the reason string. + Hint: MQTT 5 feature only. + + + + + Gets or sets the authentication data. + Authentication data is binary information used to transmit multiple iterations of cryptographic secrets of protocol steps. + The content of the authentication data is highly dependent on the specific implementation of the authentication method. + Hint: MQTT 5 feature only. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + Hint: MQTT 5 feature only. + + + + + Usually the MQTT packets can be send partially. This is done by using multiple TCP packets + or WebSocket frames etc. Unfortunately not all brokers (like Amazon Web Services (AWS)) do support this feature and + will close the connection when receiving such packets. If such a service is used this flag must + be set to _false_. + + + + + Gets or sets the authentication data. + MQTT 5.0.0+ feature. + + + + + Gets or sets the authentication method. + MQTT 5.0.0+ feature. + + + + + Gets or sets a value indicating whether clean sessions are used or not. + When a client connects to a broker it can connect using either a non persistent connection (clean session) or a + persistent connection. + With a non persistent connection the broker doesn't store any subscription information or undelivered messages for + the client. + This mode is ideal when the client only publishes messages. + It can also connect as a durable client using a persistent connection. + In this mode, the broker will store subscription information, and undelivered messages for the client. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets the keep alive period. + The connection is normally left open by the client so that is can send and receive data at any time. + If no data flows over an open connection for a certain time period then the client will generate a PINGREQ and + expect to receive a PINGRESP from the broker. + This message exchange confirms that the connection is open and working. + This period is known as the keep alive period. + + + + + Gets or sets the maximum packet size. + MQTT 5.0.0+ feature. + + + + + Gets or sets the receive maximum. + This gives the maximum length of the receive messages. + MQTT 5.0.0+ feature. + + + + + Gets or sets the request problem information. + MQTT 5.0.0+ feature. + + + + + Gets or sets the request response information. + MQTT 5.0.0+ feature. + + + + + Gets or sets the session expiry interval. + The time after a session expires when it's not actively used. + MQTT 5.0.0+ feature. + + + + + Gets or sets whether an exception should be thrown when the server has sent a non success ACK packet. + + + + + Gets or sets the timeout which will be applied at socket level and internal operations. + The default value is the same as for sockets in .NET in general. + + + + + Gets or sets the topic alias maximum. + This gives the maximum length of the topic alias. + MQTT 5.0.0+ feature. + + + + + If set to true, the bridge will attempt to indicate to the remote broker that it is a bridge not an ordinary + client. + If successful, this means that loop detection will be more effective and that retained messages will be propagated + correctly. + + Not all brokers support this feature so it may be necessary to set it to false if your bridge does not + connect properly. + + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + When this feature is enabled the client will check if used properties are supported in the selected protocol + version. + This feature can be validated if an application message is generated one time but sent via different protocol + versions. + Default values are applied if the validation is off and features are not supported. + + + + + Gets or sets the content type of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the correlation data of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the will delay interval. + This is the time between the client disconnect and the time the will message will be sent. + MQTT 5.0.0+ feature. + + + + + Gets or sets the message expiry interval of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the payload of the will message. + + + + + Gets or sets the payload format indicator of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the QoS level of the will message. + + + + + Gets or sets the response topic of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the retain flag of the will message. + + + + + Gets or sets the topic of the will message. + + + + + Gets or sets the user properties of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the default and initial size of the packet write buffer. + It is recommended to set this to a value close to the usual expected packet size * 1.5. + Do not change this value when no memory issues are experienced. + + + + + Gets or sets the maximum size of the buffer writer. The writer will reduce its internal buffer + to this value after serializing a packet. + Do not change this value when no memory issues are experienced. + + + + + Clean session is used in MQTT versions below 5.0.0. It is the same as setting "CleanStart". + + + + + Clean start is used in MQTT versions 5.0.0 and higher. It is the same as setting "CleanSession". + + + + + Usually the MQTT packets can be send partially. This is done by using multiple TCP packets + or WebSocket frames etc. Unfortunately not all brokers (like Amazon Web Services (AWS)) do support this feature and + will close the connection when receiving such packets. If such a service is used this flag must + be set to _true_. + + + + + The client will not throw an exception when the MQTT server responses with a non success ACK packet. + This will become the default behavior in future versions of the library. + + + + + Sets the timeout which will be applied at socket level and internal operations. + The default value is the same as for sockets in .NET in general. + + + + + If set to true, the bridge will attempt to indicate to the remote broker that it is a bridge not an ordinary + client. + If successful, this means that loop detection will be more effective and that retained messages will be propagated + correctly. + Not all brokers support this feature so it may be necessary to set it to false if your bridge does not connect + properly. + + + + + Gets the local endpoint (network card) which is used by the client. + Set it to _null_ to let the OS select the network card. + + + + + Gets or sets whether the underlying socket should run in dual mode. + Leaving this _null_ will avoid setting this value at socket level. + Setting this a value other than _null_ will throw an exception when only IPv4 is supported on the machine. + + + + + Gets or sets the provider for certificates. + This provider gets called whenever the client wants to connect + with the server and requires certificates for authentication. + The implementation may return different certificates each time. + + + + + Gets or sets the target host. + If the value is null or empty the same host as the TCP socket host will be used. + + + + + Returns if the overall status of the publish is a success. This can be the reason code _Success_ or + _NoMatchingSubscribers_. _NoMatchingSubscribers_ usually indicates only that no other client is interested in the + topic but overall transmit + to the server etc. was a success. + + + + + Gets the packet identifier which was used for this publish. + + + + + Gets or sets the reason code. + MQTT 5.0.0+ feature. + + + + + Gets or sets the reason string. + MQTT 5.0.0+ feature. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Gets or sets whether the library should send MQTT ACK packets automatically if required. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets whether this message was handled. + This value can be used in user code for custom control flow. + + + + + Gets the identifier of the MQTT packet + + + + + Indicates if the processing of this PUBLISH packet has failed. + If the processing has failed the client will not send an ACK packet etc. + + + + + Gets or sets the reason code which will be sent to the server. + + + + + Gets or sets the reason string which will be sent to the server in the ACK packet. + + + + + Gets or sets the user properties which will be sent to the server in the ACK packet etc. + + + + + Gets or sets the subscription identifier. + The client can specify a subscription identifier when subscribing. + The broker will establish and store the mapping relationship between this subscription and subscription identifier + when successfully create or modify subscription. + The broker will return the subscription identifier associated with this PUBLISH packet and the PUBLISH packet to + the client when need to forward PUBLISH packets matching this subscription to this client. + MQTT 5.0.0+ feature. + + + + + Gets or sets a list of topic filters the client wants to subscribe to. + Topic filters can include regular topics or wild cards. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Adds the user property to the subscribe options. + MQTT 5.0.0+ feature. + + + + + Gets the result for every topic filter item. + + + + + Gets the user properties which were part of the SUBACK packet. + MQTT 5.0.0+ feature. + + + + + Gets the reason string. + MQTT 5.0.0+ feature. + + + + + Gets the packet identifier which was used. + + + + + Gets or sets the topic filter. + The topic filter can contain topics and wildcards. + + + + + Gets or sets the result code. + MQTT 5.0.0+ feature. + + + + + Gets or sets a list of topic filters the client wants to unsubscribe from. + Topic filters can include regular topics or wild cards. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Adds the user property to the unsubscribe options. + MQTT 5.0.0+ feature. + + + + + Adds the user property to the unsubscribe options. + MQTT 5.0.0+ feature. + + + + + Gets the result for every topic filter item. + + + + + Gets the packet identifier which was used. + + + + + Gets the reason string. + MQTT 5.0.0+ feature. + + + + + Gets the user properties which were part of the UNSUBACK packet. + MQTT 5.0.0+ feature. + + + + + Gets or sets the result code. + MQTT 5.0.0+ feature. + + + + + Gets or sets the topic filter. + The topic filter can contain topics and wildcards. + + + + + This logger fires an event when a new message was published. + + + + + This logger does nothing with the messages. + + + + + This is a custom implementation of a memory stream which provides only MQTTnet relevant features. + The goal is to avoid lots of argument checks like in the original stream. The growth rule is the + same as for the original MemoryStream in .net. Also this implementation allows accessing the internal + buffer for all platforms and .net framework versions (which is not available at the regular MemoryStream). + + + + + Gets or sets the content type. + The content type must be a UTF-8 encoded string. The content type value identifies the kind of UTF-8 encoded + payload. + + + + + Gets or sets the correlation data. + In order for the sender to know what sent message the response refers to it can also send correlation data with the + published message. + Hint: MQTT 5 feature only. + + + + + If the DUP flag is set to 0, it indicates that this is the first occasion that the Client or Server has attempted + to send this MQTT PUBLISH Packet. + If the DUP flag is set to 1, it indicates that this might be re-delivery of an earlier attempt to send the Packet. + The DUP flag MUST be set to 1 by the Client or Server when it attempts to re-deliver a PUBLISH Packet + [MQTT-3.3.1.-1]. + The DUP flag MUST be set to 0 for all QoS 0 messages [MQTT-3.3.1-2]. + + + + + Gets or sets the message expiry interval. + A client can set the message expiry interval in seconds for each PUBLISH message individually. + This interval defines the period of time that the broker stores the PUBLISH message for any matching subscribers + that are not currently connected. + When no message expiry interval is set, the broker must store the message for matching subscribers indefinitely. + When the retained=true option is set on the PUBLISH message, this interval also defines how long a message is + retained on a topic. + Hint: MQTT 5 feature only. + + + + + Gets or sets the payload. + The payload is the data bytes sent via the MQTT protocol. + + + + + Get or set ArraySegment style of Payload. + + + + + Gets or sets the payload format indicator. + The payload format indicator is part of any MQTT packet that can contain a payload. The indicator is an optional + byte value. + A value of 0 indicates an “unspecified byte stream”. + A value of 1 indicates a "UTF-8 encoded payload". + If no payload format indicator is provided, the default value is 0. + Hint: MQTT 5 feature only. + + + + + Gets or sets the quality of service level. + The Quality of Service (QoS) level is an agreement between the sender of a message and the receiver of a message + that defines the guarantee of delivery for a specific message. + There are 3 QoS levels in MQTT: + - At most once (0): Message gets delivered no time, once or multiple times. + - At least once (1): Message gets delivered at least once (one time or more often). + - Exactly once (2): Message gets delivered exactly once (It's ensured that the message only comes once). + + + + + Gets or sets the response topic. + In MQTT 5 the ability to publish a response topic was added in the publish message which allows you to implement + the request/response pattern between clients that is common in web applications. + Hint: MQTT 5 feature only. + + + + + Gets or sets a value indicating whether the message should be retained or not. + A retained message is a normal MQTT message with the retained flag set to true. + The broker stores the last retained message and the corresponding QoS for that topic. + + + + + Gets or sets the subscription identifiers. + The client can specify a subscription identifier when subscribing. + The broker will establish and store the mapping relationship between this subscription and subscription identifier + when successfully create or modify subscription. + The broker will return the subscription identifier associated with this PUBLISH packet and the PUBLISH packet to + the client when need to forward PUBLISH packets matching this subscription to this client. + Hint: MQTT 5 feature only. + + + + + Gets or sets the MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected + client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level + separator). + + + + + Gets or sets the topic alias. + Topic aliases were introduced are a mechanism for reducing the size of published packets by reducing the size of + the topic field. + A value of 0 indicates no topic alias is used. + Hint: MQTT 5 feature only. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + Hint: MQTT 5 feature only. + + + + + Adds the content type to the message. + MQTT 5.0.0+ feature. + + + + + Adds the correlation data to the message. + MQTT 5.0.0+ feature. + + + + + Adds the message expiry interval in seconds to the message. + MQTT 5.0.0+ feature. + + + + + Adds the payload format indicator to the message. + MQTT 5.0.0+ feature. + + + + + The quality of service level. + The Quality of Service (QoS) level is an agreement between the sender of a message and the receiver of a message + that defines the guarantee of delivery for a specific message. + There are 3 QoS levels in MQTT: + - At most once (0): Message gets delivered no time, once or multiple times. + - At least once (1): Message gets delivered at least once (one time or more often). + - Exactly once (2): Message gets delivered exactly once (It's ensured that the message only comes once). + + + + + Adds the response topic to the message. + MQTT 5.0.0+ feature. + + + + + A value indicating whether the message should be retained or not. + A retained message is a normal MQTT message with the retained flag set to true. + The broker stores the last retained message and the corresponding QoS for that topic. + + + + + Adds the subscription identifier to the message. + MQTT 5.0.0+ feature. + + + + + The MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected + client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level + separator). + + + + + Adds the topic alias to the message. + MQTT 5.0.0+ feature. + + + + + Adds the user property to the message. + MQTT 5.0.0+ feature. + + + + + The quality of service level. + The Quality of Service (QoS) level is an agreement between the sender of a message and the receiver of a message that defines the guarantee of delivery for a specific message. + There are 3 QoS levels in MQTT: + - At most once (0): Message gets delivered no time, once or multiple times. + - At least once (1): Message gets delivered at least once (one time or more often). + - Exactly once (2): Message gets delivered exactly once (It's ensured that the message only comes once). + + + + + The MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level separator). + + + + Added in MQTTv5.0.0. + + + + Added in MQTTv5. + + + + + Added in MQTTv3.1.1. + + + + + Added in MQTTv5. + + + + + Also called "Clean Start" in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Reason Code is used in MQTTv5.0.0 and backward compatible to v.3.1.1. Return Code is used in MQTTv3.1.1 + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + It is a Protocol Error if the Subscription Identifier has a value of 0. + + + + + Added in MQTTv5. + + + + + Gets or sets a value indicating whether the sender will not receive its own published application messages. + MQTT 5.0.0+ feature. + + + + + Gets or sets the quality of service level. + The Quality of Service (QoS) level is an agreement between the sender of a message and the receiver of a message + that defines the guarantee of delivery for a specific message. + There are 3 QoS levels in MQTT: + - At most once (0): Message gets delivered no time, once or multiple times. + - At least once (1): Message gets delivered at least once (one time or more often). + - Exactly once (2): Message gets delivered exactly once (It's ensured that the message only comes once). + + + + + Gets or sets a value indicating whether messages are retained as published or not. + MQTT 5.0.0+ feature. + + + + + Gets or sets the retain handling. + MQTT 5.0.0+ feature. + + + + + Gets or sets the MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected + client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level + separator). + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + The message is accepted but there are no subscribers. This is sent only by the Server. If the Server knows that there are no matching subscribers, it MAY use this Reason Code instead of 0x00 (Success). + + + + + The reason string is sent to every client via a DISCONNECT packet. + MQTT 5.0.0+ feature. + + + + + The server reference is sent to every client via a DISCONNECT packet. + MQTT 5.0.0+ feature. + + + + + These user properties are sent to every client via a DISCONNECT packet. + MQTT 5.0.0+ feature. + + + + + Gets the application message which was not consumed by any client. + + + + + Gets the ID of the client which has sent the affected application message. + + + + + Gets the packet which was used for acknowledge. This can be a PubAck or PubComp packet. + + + + + Gets the ID of the client which acknowledged a PUBLISH packet. + + + + + Gets whether the PUBLISH packet is fully acknowledged. This is the case for PUBACK (QoS 1) and PUBCOMP (QoS 2. + + + + + Gets the PUBLISH packet which was acknowledged. + + + + + Gets the session items which contain custom user data per session. + + + + + Gets the client identifier of the connected client. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets the endpoint of the connected client. + + + + + Gets the protocol version which is used by the connected client. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the user name of the connected client. + + + + + Gets the user properties sent by the client. + MQTT 5.0.0+ feature. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets the reason code sent by the client. + Only available for clean disconnects. + MQTT 5.0.0+ feature. + + + + + Gets the reason string sent by the client. + Only available for clean disconnects. + MQTT 5.0.0+ feature. + + + + + Gets the session expiry interval sent by the client. + Only available for clean disconnects. + MQTT 5.0.0+ feature. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the user properties sent by the client. + Only available for clean disconnects. + MQTT 5.0.0+ feature. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the topic filter. + The topic filter can contain topics and wildcards. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the topic filter. + The topic filter can contain topics and wildcards. + + + + + Gets or sets whether the enqueue of the application message should be performed or not. + If set to _False_ the client will not receive the application message. + + + + + Indicates if the connection with the sender should be closed. + + + + + Gets the cancellation token from the connection managing thread. + Use this in further event processing. + + + + + Gets the client ID which has sent the packet or will receive the packet. + + + + + Gets the endpoint of the sending or receiving client. + + + + + Gets or sets the MQTT packet which was received or will be sent. + + + + + Gets or sets whether the packet should be processed or not. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the cancellation token which can indicate that the client connection gets down. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets whether the publish should be processed internally. + + + + + Gets the response which will be sent to the client via the PUBACK etc. packets. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the cancellation token which can indicate that the client connection gets down. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets whether the broker should close the client connection. + + + + + Gets or sets whether the broker should create an internal subscription for the client. + The broker can also avoid this and return "success" to the client. + This feature allows using the MQTT Broker as the Frontend and another system as the backend. + + + + + Gets or sets the reason string which will be sent to the client in the SUBACK packet. + + + + + Gets the response which will be sent to the client via the SUBACK packet. + + + + + Gets the current client session. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the topic filter. + The topic filter can contain topics and wildcards. + + + + + Gets or sets the user properties. + MQTT 5.0.0+ feature. + + + + + Gets the cancellation token which can indicate that the client connection gets down. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets whether the broker should close the client connection. + + + + + Gets or sets whether the broker should remove an internal subscription for the client. + The broker can also avoid this and return "success" to the client. + This feature allows using the MQTT Broker as the Frontend and another system as the backend. + + + + + Gets the response which will be sent to the client via the UNSUBACK pocket. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected + client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level + separator). + + + + + Gets or sets the user properties. + MQTT 5.0.0+ feature. + + + + + Gets the will delay interval. + This is the time between the client disconnect and the time the will message will be sent. + + + + + Gets the ID of the session. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the assigned client identifier. + MQTTv5 only. + + + + + Gets or sets the authentication data. + MQTT 5.0.0+ feature. + + + + + Gets or sets the authentication method. + MQTT 5.0.0+ feature. + + + + + Gets the channel adapter. This can be a _MqttConnectionContext_ (used in ASP.NET), a _MqttChannelAdapter_ (used for + TCP or WebSockets) or a custom implementation. + + + + + Gets or sets a value indicating whether clean sessions are used or not. + When a client connects to a broker it can connect using either a non persistent connection (clean session) or a + persistent connection. + With a non persistent connection the broker doesn't store any subscription information or undelivered messages for + the client. + This mode is ideal when the client only publishes messages. + It can also connect as a durable client using a persistent connection. + In this mode, the broker will store subscription information, and undelivered messages for the client. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets the keep alive period. + The connection is normally left open by the client so that is can send and receive data at any time. + If no data flows over an open connection for a certain time period then the client will generate a PINGREQ and + expect to receive a PINGRESP from the broker. + This message exchange confirms that the connection is open and working. + This period is known as the keep alive period. + + + + + A value of 0 indicates that the value is not used. + + + + + Gets or sets the reason code. When a MQTTv3 client connects the enum value must be one which is + also supported in MQTTv3. Otherwise the connection attempt will fail because not all codes can be + converted properly. + MQTT 5.0.0+ feature. + + + + + Gets or sets the receive maximum. + This gives the maximum length of the receive messages. + A value of 0 indicates that the value is not used. + + + + + Gets the request problem information. + MQTT 5.0.0+ feature. + + + + + Gets the request response information. + MQTT 5.0.0+ feature. + + + + + Gets or sets the response authentication data. + MQTT 5.0.0+ feature. + + + + + Gets or sets the response user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Gets or sets the server reference. This can be used together with i.e. "Server Moved" to send + a different server address to the client. + MQTT 5.0.0+ feature. + + + + + Gets the session expiry interval. + The time after a session expires when it's not actively used. + A value of 0 means no expiation. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the topic alias maximum. + This gives the maximum length of the topic alias. + A value of 0 indicates that the value is not used. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Gets or sets the will delay interval. + This is the time between the client disconnect and the time the will message will be sent. + A value of 0 indicates that the value is not used. + + + + + Gets or sets the session items which should be used for all event handlers which are involved in message + processing. + If _null_ is specified the singleton session items from the server are used instead. + + + + + Timestamp of the last package that has been sent to the client ("received" from the client's perspective) + + + + + Timestamp of the last package that has been received from the client ("sent" from the client's perspective) + + + + + Session should persist if CleanSession was set to false (Mqtt3) or if SessionExpiryInterval != 0 (Mqtt5) + + + + + Helper class that stores subscriptions by their topic hash mask. + + + + + Gets or sets whether the server will accept new connections. + If not, the server will close the connection without any notification (DISCONNECT packet). + This feature can be used when the server is shutting down. + + + + + Gives access to the session items which belong to this server. This session items are passed + to several events instead of the client session items if the event is caused by the server instead of a client. + + + + + When this mode is enabled the MQTT server will not close a connection when the + client is currently sending a (large) payload. This may lead to "dead" connections + When this mode is disabled the MQTT server will disconnect a client when the keep + alive timeout is reached even if the client is currently sending a (large) payload. + + + + + Gets or sets the default and initial size of the packet write buffer. + It is recommended to set this to a value close to the usual expected packet size * 1.5. + Do not change this value when no memory issues are experienced. + + + + + Gets or sets the maximum size of the buffer writer. The writer will reduce its internal buffer + to this value after serializing a packet. + Do not change this value when no memory issues are experienced. + + + + + Usually the MQTT packets can be send partially to improve memory allocations. + This is done by using multiple TCP packets or WebSocket frames etc. + Unfortunately not all clients do support this and will close the connection when receiving partial packets. + + + + + Gets or sets whether the sockets keep alive feature should be used. + The value _null_ indicates that the OS and framework defaults should be used. + + + + + Usually the MQTT packets can be send partially. This is done by using multiple TCP packets + or WebSocket frames etc. Unfortunately not all clients do support this feature and + will close the connection when receiving such packets. If such clients are connecting to this + server the flag must be set to _false_. + + + + + Gets or sets the TCP keep alive interval. + The value _null_ indicates that the OS and framework defaults should be used. + + + + + Gets or sets the TCP keep alive retry count. + The value _null_ indicates that the OS and framework defaults should be used. + + + + + Gets or sets the TCP keep alive time. + The value _null_ indicates that the OS and framework defaults should be used. + + + + + This requires admin permissions on Linux. + + + + + Gets or sets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + These disconnect options are sent to every connected client via a DISCONNECT packet. + MQTT 5.0.0+ feature. + + + + + Gets or sets the reason code which is sent to the client. + The subscription is skipped when the value is not GrantedQoS_. + MQTTv5 only. + + + + + Gets or sets the reason code which is sent to the client. + MQTTv5 only. + + + + diff --git a/LeatherProject/packages/MQTTnet.4.3.3.952/lib/netstandard2.0/MQTTnet.xml b/LeatherProject/packages/MQTTnet.4.3.3.952/lib/netstandard2.0/MQTTnet.xml new file mode 100644 index 0000000..d393dbb --- /dev/null +++ b/LeatherProject/packages/MQTTnet.4.3.3.952/lib/netstandard2.0/MQTTnet.xml @@ -0,0 +1,1766 @@ + + + + MQTTnet + + + + + Gets the authentication result. + MQTT 5.0.0+ feature. + + + + + Gets the result code. + MQTTv5 only. + + + + + Gets a value indicating whether a session was already available or not. + MQTTv5 only. + + + + + Gets a value indicating whether wildcards can be used in subscriptions at the current server. + MQTTv5 only. + + + + + Gets whether the server supports retained messages. + MQTTv5 only. + + + + + Gets the client identifier which was chosen by the server. + MQTTv5 only. + + + + + Gets the authentication method. + MQTTv5 only. + + + + + Gets the authentication data. + MQTTv5 only. + + + + + Gets the reason string. + MQTTv5 only. + + + + + Gets the maximum QoS which is supported by the server. + MQTTv5 only. + + + + + Gets the response information. + MQTTv5 only. + + + + + Gets the maximum value for a topic alias. 0 means not supported. + MQTTv5 only. + + + + + Gets an alternate server which should be used instead of the current one. + MQTTv5 only. + + + + + MQTTv5 only. + Gets the keep alive interval which was chosen by the server instead of the + keep alive interval from the client CONNECT packet. + A value of 0 indicates that the feature is not used. + + + + + Gets a value indicating whether the subscription identifiers are available or not. + MQTTv5 only. + + + + + Gets a value indicating whether the shared subscriptions are available or not. + MQTTv5 only. + + + + + Gets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTTv5 only. + + + + + Gets the authentication result. + MQTT 5.0.0+ feature. + + + + + Gets or sets the reason. + MQTT 5.0.0+ feature. + + + + + Gets or sets the reason code. + MQTT 5.0.0+ feature. + + + + + Gets or sets the reason string. + MQTT 5.0.0+ feature. + + + + + Gets or sets the session expiry interval. + MQTT 5.0.0+ feature. + + + + + Gets or sets the user properties. + MQTT 5.0.0+ feature. + + + + + This enum only contains values which are valid when a client sends the reason to the server. + + + + + Gets the reason code. + Hint: MQTT 5 feature only. + + + + + Gets the reason string. + Hint: MQTT 5 feature only. + + + + + Gets the authentication method. + Hint: MQTT 5 feature only. + + + + + Gets the authentication data. + Hint: MQTT 5 feature only. + + + + + Gets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + Hint: MQTT 5 feature only. + + + + + Gets or sets the reason code. + Hint: MQTT 5 feature only. + + + + + Gets or sets the reason string. + Hint: MQTT 5 feature only. + + + + + Gets or sets the authentication data. + Authentication data is binary information used to transmit multiple iterations of cryptographic secrets of protocol steps. + The content of the authentication data is highly dependent on the specific implementation of the authentication method. + Hint: MQTT 5 feature only. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + Hint: MQTT 5 feature only. + + + + + Usually the MQTT packets can be send partially. This is done by using multiple TCP packets + or WebSocket frames etc. Unfortunately not all brokers (like Amazon Web Services (AWS)) do support this feature and + will close the connection when receiving such packets. If such a service is used this flag must + be set to _false_. + + + + + Gets or sets the authentication data. + MQTT 5.0.0+ feature. + + + + + Gets or sets the authentication method. + MQTT 5.0.0+ feature. + + + + + Gets or sets a value indicating whether clean sessions are used or not. + When a client connects to a broker it can connect using either a non persistent connection (clean session) or a + persistent connection. + With a non persistent connection the broker doesn't store any subscription information or undelivered messages for + the client. + This mode is ideal when the client only publishes messages. + It can also connect as a durable client using a persistent connection. + In this mode, the broker will store subscription information, and undelivered messages for the client. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets the keep alive period. + The connection is normally left open by the client so that is can send and receive data at any time. + If no data flows over an open connection for a certain time period then the client will generate a PINGREQ and + expect to receive a PINGRESP from the broker. + This message exchange confirms that the connection is open and working. + This period is known as the keep alive period. + + + + + Gets or sets the maximum packet size. + MQTT 5.0.0+ feature. + + + + + Gets or sets the receive maximum. + This gives the maximum length of the receive messages. + MQTT 5.0.0+ feature. + + + + + Gets or sets the request problem information. + MQTT 5.0.0+ feature. + + + + + Gets or sets the request response information. + MQTT 5.0.0+ feature. + + + + + Gets or sets the session expiry interval. + The time after a session expires when it's not actively used. + MQTT 5.0.0+ feature. + + + + + Gets or sets whether an exception should be thrown when the server has sent a non success ACK packet. + + + + + Gets or sets the timeout which will be applied at socket level and internal operations. + The default value is the same as for sockets in .NET in general. + + + + + Gets or sets the topic alias maximum. + This gives the maximum length of the topic alias. + MQTT 5.0.0+ feature. + + + + + If set to true, the bridge will attempt to indicate to the remote broker that it is a bridge not an ordinary + client. + If successful, this means that loop detection will be more effective and that retained messages will be propagated + correctly. + + Not all brokers support this feature so it may be necessary to set it to false if your bridge does not + connect properly. + + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + When this feature is enabled the client will check if used properties are supported in the selected protocol + version. + This feature can be validated if an application message is generated one time but sent via different protocol + versions. + Default values are applied if the validation is off and features are not supported. + + + + + Gets or sets the content type of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the correlation data of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the will delay interval. + This is the time between the client disconnect and the time the will message will be sent. + MQTT 5.0.0+ feature. + + + + + Gets or sets the message expiry interval of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the payload of the will message. + + + + + Gets or sets the payload format indicator of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the QoS level of the will message. + + + + + Gets or sets the response topic of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the retain flag of the will message. + + + + + Gets or sets the topic of the will message. + + + + + Gets or sets the user properties of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the default and initial size of the packet write buffer. + It is recommended to set this to a value close to the usual expected packet size * 1.5. + Do not change this value when no memory issues are experienced. + + + + + Gets or sets the maximum size of the buffer writer. The writer will reduce its internal buffer + to this value after serializing a packet. + Do not change this value when no memory issues are experienced. + + + + + Clean session is used in MQTT versions below 5.0.0. It is the same as setting "CleanStart". + + + + + Clean start is used in MQTT versions 5.0.0 and higher. It is the same as setting "CleanSession". + + + + + Usually the MQTT packets can be send partially. This is done by using multiple TCP packets + or WebSocket frames etc. Unfortunately not all brokers (like Amazon Web Services (AWS)) do support this feature and + will close the connection when receiving such packets. If such a service is used this flag must + be set to _true_. + + + + + The client will not throw an exception when the MQTT server responses with a non success ACK packet. + This will become the default behavior in future versions of the library. + + + + + Sets the timeout which will be applied at socket level and internal operations. + The default value is the same as for sockets in .NET in general. + + + + + If set to true, the bridge will attempt to indicate to the remote broker that it is a bridge not an ordinary + client. + If successful, this means that loop detection will be more effective and that retained messages will be propagated + correctly. + Not all brokers support this feature so it may be necessary to set it to false if your bridge does not connect + properly. + + + + + Gets the local endpoint (network card) which is used by the client. + Set it to _null_ to let the OS select the network card. + + + + + Gets or sets whether the underlying socket should run in dual mode. + Leaving this _null_ will avoid setting this value at socket level. + Setting this a value other than _null_ will throw an exception when only IPv4 is supported on the machine. + + + + + Gets or sets the provider for certificates. + This provider gets called whenever the client wants to connect + with the server and requires certificates for authentication. + The implementation may return different certificates each time. + + + + + Gets or sets the target host. + If the value is null or empty the same host as the TCP socket host will be used. + + + + + Gets or sets the keep alive interval for the Web Socket connection. + This is not related to the keep alive interval for the MQTT protocol. + + + + + Gets or sets whether the default (system) credentials should be used when connecting via Web Socket connection. + This is not related to the credentials which are used for the MQTT protocol. + + + + + Returns if the overall status of the publish is a success. This can be the reason code _Success_ or + _NoMatchingSubscribers_. _NoMatchingSubscribers_ usually indicates only that no other client is interested in the + topic but overall transmit + to the server etc. was a success. + + + + + Gets the packet identifier which was used for this publish. + + + + + Gets or sets the reason code. + MQTT 5.0.0+ feature. + + + + + Gets or sets the reason string. + MQTT 5.0.0+ feature. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Gets or sets whether the library should send MQTT ACK packets automatically if required. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets whether this message was handled. + This value can be used in user code for custom control flow. + + + + + Gets the identifier of the MQTT packet + + + + + Indicates if the processing of this PUBLISH packet has failed. + If the processing has failed the client will not send an ACK packet etc. + + + + + Gets or sets the reason code which will be sent to the server. + + + + + Gets or sets the reason string which will be sent to the server in the ACK packet. + + + + + Gets or sets the user properties which will be sent to the server in the ACK packet etc. + + + + + Gets or sets the subscription identifier. + The client can specify a subscription identifier when subscribing. + The broker will establish and store the mapping relationship between this subscription and subscription identifier + when successfully create or modify subscription. + The broker will return the subscription identifier associated with this PUBLISH packet and the PUBLISH packet to + the client when need to forward PUBLISH packets matching this subscription to this client. + MQTT 5.0.0+ feature. + + + + + Gets or sets a list of topic filters the client wants to subscribe to. + Topic filters can include regular topics or wild cards. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Adds the user property to the subscribe options. + MQTT 5.0.0+ feature. + + + + + Gets the result for every topic filter item. + + + + + Gets the user properties which were part of the SUBACK packet. + MQTT 5.0.0+ feature. + + + + + Gets the reason string. + MQTT 5.0.0+ feature. + + + + + Gets the packet identifier which was used. + + + + + Gets or sets the topic filter. + The topic filter can contain topics and wildcards. + + + + + Gets or sets the result code. + MQTT 5.0.0+ feature. + + + + + Gets or sets a list of topic filters the client wants to unsubscribe from. + Topic filters can include regular topics or wild cards. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Adds the user property to the unsubscribe options. + MQTT 5.0.0+ feature. + + + + + Adds the user property to the unsubscribe options. + MQTT 5.0.0+ feature. + + + + + Gets the result for every topic filter item. + + + + + Gets the packet identifier which was used. + + + + + Gets the reason string. + MQTT 5.0.0+ feature. + + + + + Gets the user properties which were part of the UNSUBACK packet. + MQTT 5.0.0+ feature. + + + + + Gets or sets the result code. + MQTT 5.0.0+ feature. + + + + + Gets or sets the topic filter. + The topic filter can contain topics and wildcards. + + + + + This logger fires an event when a new message was published. + + + + + This logger does nothing with the messages. + + + + + This is a custom implementation of a memory stream which provides only MQTTnet relevant features. + The goal is to avoid lots of argument checks like in the original stream. The growth rule is the + same as for the original MemoryStream in .net. Also this implementation allows accessing the internal + buffer for all platforms and .net framework versions (which is not available at the regular MemoryStream). + + + + + Gets or sets the content type. + The content type must be a UTF-8 encoded string. The content type value identifies the kind of UTF-8 encoded + payload. + + + + + Gets or sets the correlation data. + In order for the sender to know what sent message the response refers to it can also send correlation data with the + published message. + Hint: MQTT 5 feature only. + + + + + If the DUP flag is set to 0, it indicates that this is the first occasion that the Client or Server has attempted + to send this MQTT PUBLISH Packet. + If the DUP flag is set to 1, it indicates that this might be re-delivery of an earlier attempt to send the Packet. + The DUP flag MUST be set to 1 by the Client or Server when it attempts to re-deliver a PUBLISH Packet + [MQTT-3.3.1.-1]. + The DUP flag MUST be set to 0 for all QoS 0 messages [MQTT-3.3.1-2]. + + + + + Gets or sets the message expiry interval. + A client can set the message expiry interval in seconds for each PUBLISH message individually. + This interval defines the period of time that the broker stores the PUBLISH message for any matching subscribers + that are not currently connected. + When no message expiry interval is set, the broker must store the message for matching subscribers indefinitely. + When the retained=true option is set on the PUBLISH message, this interval also defines how long a message is + retained on a topic. + Hint: MQTT 5 feature only. + + + + + Gets or sets the payload. + The payload is the data bytes sent via the MQTT protocol. + + + + + Get or set ArraySegment style of Payload. + + + + + Gets or sets the payload format indicator. + The payload format indicator is part of any MQTT packet that can contain a payload. The indicator is an optional + byte value. + A value of 0 indicates an “unspecified byte stream”. + A value of 1 indicates a "UTF-8 encoded payload". + If no payload format indicator is provided, the default value is 0. + Hint: MQTT 5 feature only. + + + + + Gets or sets the quality of service level. + The Quality of Service (QoS) level is an agreement between the sender of a message and the receiver of a message + that defines the guarantee of delivery for a specific message. + There are 3 QoS levels in MQTT: + - At most once (0): Message gets delivered no time, once or multiple times. + - At least once (1): Message gets delivered at least once (one time or more often). + - Exactly once (2): Message gets delivered exactly once (It's ensured that the message only comes once). + + + + + Gets or sets the response topic. + In MQTT 5 the ability to publish a response topic was added in the publish message which allows you to implement + the request/response pattern between clients that is common in web applications. + Hint: MQTT 5 feature only. + + + + + Gets or sets a value indicating whether the message should be retained or not. + A retained message is a normal MQTT message with the retained flag set to true. + The broker stores the last retained message and the corresponding QoS for that topic. + + + + + Gets or sets the subscription identifiers. + The client can specify a subscription identifier when subscribing. + The broker will establish and store the mapping relationship between this subscription and subscription identifier + when successfully create or modify subscription. + The broker will return the subscription identifier associated with this PUBLISH packet and the PUBLISH packet to + the client when need to forward PUBLISH packets matching this subscription to this client. + Hint: MQTT 5 feature only. + + + + + Gets or sets the MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected + client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level + separator). + + + + + Gets or sets the topic alias. + Topic aliases were introduced are a mechanism for reducing the size of published packets by reducing the size of + the topic field. + A value of 0 indicates no topic alias is used. + Hint: MQTT 5 feature only. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + Hint: MQTT 5 feature only. + + + + + Adds the content type to the message. + MQTT 5.0.0+ feature. + + + + + Adds the correlation data to the message. + MQTT 5.0.0+ feature. + + + + + Adds the message expiry interval in seconds to the message. + MQTT 5.0.0+ feature. + + + + + Adds the payload format indicator to the message. + MQTT 5.0.0+ feature. + + + + + The quality of service level. + The Quality of Service (QoS) level is an agreement between the sender of a message and the receiver of a message + that defines the guarantee of delivery for a specific message. + There are 3 QoS levels in MQTT: + - At most once (0): Message gets delivered no time, once or multiple times. + - At least once (1): Message gets delivered at least once (one time or more often). + - Exactly once (2): Message gets delivered exactly once (It's ensured that the message only comes once). + + + + + Adds the response topic to the message. + MQTT 5.0.0+ feature. + + + + + A value indicating whether the message should be retained or not. + A retained message is a normal MQTT message with the retained flag set to true. + The broker stores the last retained message and the corresponding QoS for that topic. + + + + + Adds the subscription identifier to the message. + MQTT 5.0.0+ feature. + + + + + The MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected + client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level + separator). + + + + + Adds the topic alias to the message. + MQTT 5.0.0+ feature. + + + + + Adds the user property to the message. + MQTT 5.0.0+ feature. + + + + + The quality of service level. + The Quality of Service (QoS) level is an agreement between the sender of a message and the receiver of a message that defines the guarantee of delivery for a specific message. + There are 3 QoS levels in MQTT: + - At most once (0): Message gets delivered no time, once or multiple times. + - At least once (1): Message gets delivered at least once (one time or more often). + - Exactly once (2): Message gets delivered exactly once (It's ensured that the message only comes once). + + + + + The MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level separator). + + + + Added in MQTTv5.0.0. + + + + Added in MQTTv5. + + + + + Added in MQTTv3.1.1. + + + + + Added in MQTTv5. + + + + + Also called "Clean Start" in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Reason Code is used in MQTTv5.0.0 and backward compatible to v.3.1.1. Return Code is used in MQTTv3.1.1 + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + It is a Protocol Error if the Subscription Identifier has a value of 0. + + + + + Added in MQTTv5. + + + + + Gets or sets a value indicating whether the sender will not receive its own published application messages. + MQTT 5.0.0+ feature. + + + + + Gets or sets the quality of service level. + The Quality of Service (QoS) level is an agreement between the sender of a message and the receiver of a message + that defines the guarantee of delivery for a specific message. + There are 3 QoS levels in MQTT: + - At most once (0): Message gets delivered no time, once or multiple times. + - At least once (1): Message gets delivered at least once (one time or more often). + - Exactly once (2): Message gets delivered exactly once (It's ensured that the message only comes once). + + + + + Gets or sets a value indicating whether messages are retained as published or not. + MQTT 5.0.0+ feature. + + + + + Gets or sets the retain handling. + MQTT 5.0.0+ feature. + + + + + Gets or sets the MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected + client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level + separator). + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + The message is accepted but there are no subscribers. This is sent only by the Server. If the Server knows that there are no matching subscribers, it MAY use this Reason Code instead of 0x00 (Success). + + + + + The reason string is sent to every client via a DISCONNECT packet. + MQTT 5.0.0+ feature. + + + + + The server reference is sent to every client via a DISCONNECT packet. + MQTT 5.0.0+ feature. + + + + + These user properties are sent to every client via a DISCONNECT packet. + MQTT 5.0.0+ feature. + + + + + Gets the application message which was not consumed by any client. + + + + + Gets the ID of the client which has sent the affected application message. + + + + + Gets the packet which was used for acknowledge. This can be a PubAck or PubComp packet. + + + + + Gets the ID of the client which acknowledged a PUBLISH packet. + + + + + Gets whether the PUBLISH packet is fully acknowledged. This is the case for PUBACK (QoS 1) and PUBCOMP (QoS 2. + + + + + Gets the PUBLISH packet which was acknowledged. + + + + + Gets the session items which contain custom user data per session. + + + + + Gets the client identifier of the connected client. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets the endpoint of the connected client. + + + + + Gets the protocol version which is used by the connected client. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the user name of the connected client. + + + + + Gets the user properties sent by the client. + MQTT 5.0.0+ feature. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets the reason code sent by the client. + Only available for clean disconnects. + MQTT 5.0.0+ feature. + + + + + Gets the reason string sent by the client. + Only available for clean disconnects. + MQTT 5.0.0+ feature. + + + + + Gets the session expiry interval sent by the client. + Only available for clean disconnects. + MQTT 5.0.0+ feature. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the user properties sent by the client. + Only available for clean disconnects. + MQTT 5.0.0+ feature. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the topic filter. + The topic filter can contain topics and wildcards. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the topic filter. + The topic filter can contain topics and wildcards. + + + + + Gets or sets whether the enqueue of the application message should be performed or not. + If set to _False_ the client will not receive the application message. + + + + + Indicates if the connection with the sender should be closed. + + + + + Gets the cancellation token from the connection managing thread. + Use this in further event processing. + + + + + Gets the client ID which has sent the packet or will receive the packet. + + + + + Gets the endpoint of the sending or receiving client. + + + + + Gets or sets the MQTT packet which was received or will be sent. + + + + + Gets or sets whether the packet should be processed or not. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the cancellation token which can indicate that the client connection gets down. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets whether the publish should be processed internally. + + + + + Gets the response which will be sent to the client via the PUBACK etc. packets. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the cancellation token which can indicate that the client connection gets down. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets whether the broker should close the client connection. + + + + + Gets or sets whether the broker should create an internal subscription for the client. + The broker can also avoid this and return "success" to the client. + This feature allows using the MQTT Broker as the Frontend and another system as the backend. + + + + + Gets or sets the reason string which will be sent to the client in the SUBACK packet. + + + + + Gets the response which will be sent to the client via the SUBACK packet. + + + + + Gets the current client session. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the topic filter. + The topic filter can contain topics and wildcards. + + + + + Gets or sets the user properties. + MQTT 5.0.0+ feature. + + + + + Gets the cancellation token which can indicate that the client connection gets down. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets whether the broker should close the client connection. + + + + + Gets or sets whether the broker should remove an internal subscription for the client. + The broker can also avoid this and return "success" to the client. + This feature allows using the MQTT Broker as the Frontend and another system as the backend. + + + + + Gets the response which will be sent to the client via the UNSUBACK pocket. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected + client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level + separator). + + + + + Gets or sets the user properties. + MQTT 5.0.0+ feature. + + + + + Gets the will delay interval. + This is the time between the client disconnect and the time the will message will be sent. + + + + + Gets the ID of the session. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the assigned client identifier. + MQTTv5 only. + + + + + Gets or sets the authentication data. + MQTT 5.0.0+ feature. + + + + + Gets or sets the authentication method. + MQTT 5.0.0+ feature. + + + + + Gets the channel adapter. This can be a _MqttConnectionContext_ (used in ASP.NET), a _MqttChannelAdapter_ (used for + TCP or WebSockets) or a custom implementation. + + + + + Gets or sets a value indicating whether clean sessions are used or not. + When a client connects to a broker it can connect using either a non persistent connection (clean session) or a + persistent connection. + With a non persistent connection the broker doesn't store any subscription information or undelivered messages for + the client. + This mode is ideal when the client only publishes messages. + It can also connect as a durable client using a persistent connection. + In this mode, the broker will store subscription information, and undelivered messages for the client. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets the keep alive period. + The connection is normally left open by the client so that is can send and receive data at any time. + If no data flows over an open connection for a certain time period then the client will generate a PINGREQ and + expect to receive a PINGRESP from the broker. + This message exchange confirms that the connection is open and working. + This period is known as the keep alive period. + + + + + A value of 0 indicates that the value is not used. + + + + + Gets or sets the reason code. When a MQTTv3 client connects the enum value must be one which is + also supported in MQTTv3. Otherwise the connection attempt will fail because not all codes can be + converted properly. + MQTT 5.0.0+ feature. + + + + + Gets or sets the receive maximum. + This gives the maximum length of the receive messages. + A value of 0 indicates that the value is not used. + + + + + Gets the request problem information. + MQTT 5.0.0+ feature. + + + + + Gets the request response information. + MQTT 5.0.0+ feature. + + + + + Gets or sets the response authentication data. + MQTT 5.0.0+ feature. + + + + + Gets or sets the response user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Gets or sets the server reference. This can be used together with i.e. "Server Moved" to send + a different server address to the client. + MQTT 5.0.0+ feature. + + + + + Gets the session expiry interval. + The time after a session expires when it's not actively used. + A value of 0 means no expiation. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the topic alias maximum. + This gives the maximum length of the topic alias. + A value of 0 indicates that the value is not used. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Gets or sets the will delay interval. + This is the time between the client disconnect and the time the will message will be sent. + A value of 0 indicates that the value is not used. + + + + + Gets or sets the session items which should be used for all event handlers which are involved in message + processing. + If _null_ is specified the singleton session items from the server are used instead. + + + + + Timestamp of the last package that has been sent to the client ("received" from the client's perspective) + + + + + Timestamp of the last package that has been received from the client ("sent" from the client's perspective) + + + + + Session should persist if CleanSession was set to false (Mqtt3) or if SessionExpiryInterval != 0 (Mqtt5) + + + + + Helper class that stores subscriptions by their topic hash mask. + + + + + Gets or sets whether the server will accept new connections. + If not, the server will close the connection without any notification (DISCONNECT packet). + This feature can be used when the server is shutting down. + + + + + Gives access to the session items which belong to this server. This session items are passed + to several events instead of the client session items if the event is caused by the server instead of a client. + + + + + When this mode is enabled the MQTT server will not close a connection when the + client is currently sending a (large) payload. This may lead to "dead" connections + When this mode is disabled the MQTT server will disconnect a client when the keep + alive timeout is reached even if the client is currently sending a (large) payload. + + + + + Gets or sets the default and initial size of the packet write buffer. + It is recommended to set this to a value close to the usual expected packet size * 1.5. + Do not change this value when no memory issues are experienced. + + + + + Gets or sets the maximum size of the buffer writer. The writer will reduce its internal buffer + to this value after serializing a packet. + Do not change this value when no memory issues are experienced. + + + + + Usually the MQTT packets can be send partially to improve memory allocations. + This is done by using multiple TCP packets or WebSocket frames etc. + Unfortunately not all clients do support this and will close the connection when receiving partial packets. + + + + + Gets or sets whether the sockets keep alive feature should be used. + The value _null_ indicates that the OS and framework defaults should be used. + + + + + Usually the MQTT packets can be send partially. This is done by using multiple TCP packets + or WebSocket frames etc. Unfortunately not all clients do support this feature and + will close the connection when receiving such packets. If such clients are connecting to this + server the flag must be set to _false_. + + + + + Gets or sets the TCP keep alive interval. + The value _null_ indicates that the OS and framework defaults should be used. + + + + + Gets or sets the TCP keep alive retry count. + The value _null_ indicates that the OS and framework defaults should be used. + + + + + Gets or sets the TCP keep alive time. + The value _null_ indicates that the OS and framework defaults should be used. + + + + + This requires admin permissions on Linux. + + + + + Gets or sets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + These disconnect options are sent to every connected client via a DISCONNECT packet. + MQTT 5.0.0+ feature. + + + + + Gets or sets the reason code which is sent to the client. + The subscription is skipped when the value is not GrantedQoS_. + MQTTv5 only. + + + + + Gets or sets the reason code which is sent to the client. + MQTTv5 only. + + + + diff --git a/LeatherProject/packages/MQTTnet.4.3.3.952/lib/netstandard2.1/MQTTnet.xml b/LeatherProject/packages/MQTTnet.4.3.3.952/lib/netstandard2.1/MQTTnet.xml new file mode 100644 index 0000000..d393dbb --- /dev/null +++ b/LeatherProject/packages/MQTTnet.4.3.3.952/lib/netstandard2.1/MQTTnet.xml @@ -0,0 +1,1766 @@ + + + + MQTTnet + + + + + Gets the authentication result. + MQTT 5.0.0+ feature. + + + + + Gets the result code. + MQTTv5 only. + + + + + Gets a value indicating whether a session was already available or not. + MQTTv5 only. + + + + + Gets a value indicating whether wildcards can be used in subscriptions at the current server. + MQTTv5 only. + + + + + Gets whether the server supports retained messages. + MQTTv5 only. + + + + + Gets the client identifier which was chosen by the server. + MQTTv5 only. + + + + + Gets the authentication method. + MQTTv5 only. + + + + + Gets the authentication data. + MQTTv5 only. + + + + + Gets the reason string. + MQTTv5 only. + + + + + Gets the maximum QoS which is supported by the server. + MQTTv5 only. + + + + + Gets the response information. + MQTTv5 only. + + + + + Gets the maximum value for a topic alias. 0 means not supported. + MQTTv5 only. + + + + + Gets an alternate server which should be used instead of the current one. + MQTTv5 only. + + + + + MQTTv5 only. + Gets the keep alive interval which was chosen by the server instead of the + keep alive interval from the client CONNECT packet. + A value of 0 indicates that the feature is not used. + + + + + Gets a value indicating whether the subscription identifiers are available or not. + MQTTv5 only. + + + + + Gets a value indicating whether the shared subscriptions are available or not. + MQTTv5 only. + + + + + Gets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTTv5 only. + + + + + Gets the authentication result. + MQTT 5.0.0+ feature. + + + + + Gets or sets the reason. + MQTT 5.0.0+ feature. + + + + + Gets or sets the reason code. + MQTT 5.0.0+ feature. + + + + + Gets or sets the reason string. + MQTT 5.0.0+ feature. + + + + + Gets or sets the session expiry interval. + MQTT 5.0.0+ feature. + + + + + Gets or sets the user properties. + MQTT 5.0.0+ feature. + + + + + This enum only contains values which are valid when a client sends the reason to the server. + + + + + Gets the reason code. + Hint: MQTT 5 feature only. + + + + + Gets the reason string. + Hint: MQTT 5 feature only. + + + + + Gets the authentication method. + Hint: MQTT 5 feature only. + + + + + Gets the authentication data. + Hint: MQTT 5 feature only. + + + + + Gets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + Hint: MQTT 5 feature only. + + + + + Gets or sets the reason code. + Hint: MQTT 5 feature only. + + + + + Gets or sets the reason string. + Hint: MQTT 5 feature only. + + + + + Gets or sets the authentication data. + Authentication data is binary information used to transmit multiple iterations of cryptographic secrets of protocol steps. + The content of the authentication data is highly dependent on the specific implementation of the authentication method. + Hint: MQTT 5 feature only. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + Hint: MQTT 5 feature only. + + + + + Usually the MQTT packets can be send partially. This is done by using multiple TCP packets + or WebSocket frames etc. Unfortunately not all brokers (like Amazon Web Services (AWS)) do support this feature and + will close the connection when receiving such packets. If such a service is used this flag must + be set to _false_. + + + + + Gets or sets the authentication data. + MQTT 5.0.0+ feature. + + + + + Gets or sets the authentication method. + MQTT 5.0.0+ feature. + + + + + Gets or sets a value indicating whether clean sessions are used or not. + When a client connects to a broker it can connect using either a non persistent connection (clean session) or a + persistent connection. + With a non persistent connection the broker doesn't store any subscription information or undelivered messages for + the client. + This mode is ideal when the client only publishes messages. + It can also connect as a durable client using a persistent connection. + In this mode, the broker will store subscription information, and undelivered messages for the client. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets the keep alive period. + The connection is normally left open by the client so that is can send and receive data at any time. + If no data flows over an open connection for a certain time period then the client will generate a PINGREQ and + expect to receive a PINGRESP from the broker. + This message exchange confirms that the connection is open and working. + This period is known as the keep alive period. + + + + + Gets or sets the maximum packet size. + MQTT 5.0.0+ feature. + + + + + Gets or sets the receive maximum. + This gives the maximum length of the receive messages. + MQTT 5.0.0+ feature. + + + + + Gets or sets the request problem information. + MQTT 5.0.0+ feature. + + + + + Gets or sets the request response information. + MQTT 5.0.0+ feature. + + + + + Gets or sets the session expiry interval. + The time after a session expires when it's not actively used. + MQTT 5.0.0+ feature. + + + + + Gets or sets whether an exception should be thrown when the server has sent a non success ACK packet. + + + + + Gets or sets the timeout which will be applied at socket level and internal operations. + The default value is the same as for sockets in .NET in general. + + + + + Gets or sets the topic alias maximum. + This gives the maximum length of the topic alias. + MQTT 5.0.0+ feature. + + + + + If set to true, the bridge will attempt to indicate to the remote broker that it is a bridge not an ordinary + client. + If successful, this means that loop detection will be more effective and that retained messages will be propagated + correctly. + + Not all brokers support this feature so it may be necessary to set it to false if your bridge does not + connect properly. + + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + When this feature is enabled the client will check if used properties are supported in the selected protocol + version. + This feature can be validated if an application message is generated one time but sent via different protocol + versions. + Default values are applied if the validation is off and features are not supported. + + + + + Gets or sets the content type of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the correlation data of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the will delay interval. + This is the time between the client disconnect and the time the will message will be sent. + MQTT 5.0.0+ feature. + + + + + Gets or sets the message expiry interval of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the payload of the will message. + + + + + Gets or sets the payload format indicator of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the QoS level of the will message. + + + + + Gets or sets the response topic of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the retain flag of the will message. + + + + + Gets or sets the topic of the will message. + + + + + Gets or sets the user properties of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the default and initial size of the packet write buffer. + It is recommended to set this to a value close to the usual expected packet size * 1.5. + Do not change this value when no memory issues are experienced. + + + + + Gets or sets the maximum size of the buffer writer. The writer will reduce its internal buffer + to this value after serializing a packet. + Do not change this value when no memory issues are experienced. + + + + + Clean session is used in MQTT versions below 5.0.0. It is the same as setting "CleanStart". + + + + + Clean start is used in MQTT versions 5.0.0 and higher. It is the same as setting "CleanSession". + + + + + Usually the MQTT packets can be send partially. This is done by using multiple TCP packets + or WebSocket frames etc. Unfortunately not all brokers (like Amazon Web Services (AWS)) do support this feature and + will close the connection when receiving such packets. If such a service is used this flag must + be set to _true_. + + + + + The client will not throw an exception when the MQTT server responses with a non success ACK packet. + This will become the default behavior in future versions of the library. + + + + + Sets the timeout which will be applied at socket level and internal operations. + The default value is the same as for sockets in .NET in general. + + + + + If set to true, the bridge will attempt to indicate to the remote broker that it is a bridge not an ordinary + client. + If successful, this means that loop detection will be more effective and that retained messages will be propagated + correctly. + Not all brokers support this feature so it may be necessary to set it to false if your bridge does not connect + properly. + + + + + Gets the local endpoint (network card) which is used by the client. + Set it to _null_ to let the OS select the network card. + + + + + Gets or sets whether the underlying socket should run in dual mode. + Leaving this _null_ will avoid setting this value at socket level. + Setting this a value other than _null_ will throw an exception when only IPv4 is supported on the machine. + + + + + Gets or sets the provider for certificates. + This provider gets called whenever the client wants to connect + with the server and requires certificates for authentication. + The implementation may return different certificates each time. + + + + + Gets or sets the target host. + If the value is null or empty the same host as the TCP socket host will be used. + + + + + Gets or sets the keep alive interval for the Web Socket connection. + This is not related to the keep alive interval for the MQTT protocol. + + + + + Gets or sets whether the default (system) credentials should be used when connecting via Web Socket connection. + This is not related to the credentials which are used for the MQTT protocol. + + + + + Returns if the overall status of the publish is a success. This can be the reason code _Success_ or + _NoMatchingSubscribers_. _NoMatchingSubscribers_ usually indicates only that no other client is interested in the + topic but overall transmit + to the server etc. was a success. + + + + + Gets the packet identifier which was used for this publish. + + + + + Gets or sets the reason code. + MQTT 5.0.0+ feature. + + + + + Gets or sets the reason string. + MQTT 5.0.0+ feature. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Gets or sets whether the library should send MQTT ACK packets automatically if required. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets whether this message was handled. + This value can be used in user code for custom control flow. + + + + + Gets the identifier of the MQTT packet + + + + + Indicates if the processing of this PUBLISH packet has failed. + If the processing has failed the client will not send an ACK packet etc. + + + + + Gets or sets the reason code which will be sent to the server. + + + + + Gets or sets the reason string which will be sent to the server in the ACK packet. + + + + + Gets or sets the user properties which will be sent to the server in the ACK packet etc. + + + + + Gets or sets the subscription identifier. + The client can specify a subscription identifier when subscribing. + The broker will establish and store the mapping relationship between this subscription and subscription identifier + when successfully create or modify subscription. + The broker will return the subscription identifier associated with this PUBLISH packet and the PUBLISH packet to + the client when need to forward PUBLISH packets matching this subscription to this client. + MQTT 5.0.0+ feature. + + + + + Gets or sets a list of topic filters the client wants to subscribe to. + Topic filters can include regular topics or wild cards. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Adds the user property to the subscribe options. + MQTT 5.0.0+ feature. + + + + + Gets the result for every topic filter item. + + + + + Gets the user properties which were part of the SUBACK packet. + MQTT 5.0.0+ feature. + + + + + Gets the reason string. + MQTT 5.0.0+ feature. + + + + + Gets the packet identifier which was used. + + + + + Gets or sets the topic filter. + The topic filter can contain topics and wildcards. + + + + + Gets or sets the result code. + MQTT 5.0.0+ feature. + + + + + Gets or sets a list of topic filters the client wants to unsubscribe from. + Topic filters can include regular topics or wild cards. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Adds the user property to the unsubscribe options. + MQTT 5.0.0+ feature. + + + + + Adds the user property to the unsubscribe options. + MQTT 5.0.0+ feature. + + + + + Gets the result for every topic filter item. + + + + + Gets the packet identifier which was used. + + + + + Gets the reason string. + MQTT 5.0.0+ feature. + + + + + Gets the user properties which were part of the UNSUBACK packet. + MQTT 5.0.0+ feature. + + + + + Gets or sets the result code. + MQTT 5.0.0+ feature. + + + + + Gets or sets the topic filter. + The topic filter can contain topics and wildcards. + + + + + This logger fires an event when a new message was published. + + + + + This logger does nothing with the messages. + + + + + This is a custom implementation of a memory stream which provides only MQTTnet relevant features. + The goal is to avoid lots of argument checks like in the original stream. The growth rule is the + same as for the original MemoryStream in .net. Also this implementation allows accessing the internal + buffer for all platforms and .net framework versions (which is not available at the regular MemoryStream). + + + + + Gets or sets the content type. + The content type must be a UTF-8 encoded string. The content type value identifies the kind of UTF-8 encoded + payload. + + + + + Gets or sets the correlation data. + In order for the sender to know what sent message the response refers to it can also send correlation data with the + published message. + Hint: MQTT 5 feature only. + + + + + If the DUP flag is set to 0, it indicates that this is the first occasion that the Client or Server has attempted + to send this MQTT PUBLISH Packet. + If the DUP flag is set to 1, it indicates that this might be re-delivery of an earlier attempt to send the Packet. + The DUP flag MUST be set to 1 by the Client or Server when it attempts to re-deliver a PUBLISH Packet + [MQTT-3.3.1.-1]. + The DUP flag MUST be set to 0 for all QoS 0 messages [MQTT-3.3.1-2]. + + + + + Gets or sets the message expiry interval. + A client can set the message expiry interval in seconds for each PUBLISH message individually. + This interval defines the period of time that the broker stores the PUBLISH message for any matching subscribers + that are not currently connected. + When no message expiry interval is set, the broker must store the message for matching subscribers indefinitely. + When the retained=true option is set on the PUBLISH message, this interval also defines how long a message is + retained on a topic. + Hint: MQTT 5 feature only. + + + + + Gets or sets the payload. + The payload is the data bytes sent via the MQTT protocol. + + + + + Get or set ArraySegment style of Payload. + + + + + Gets or sets the payload format indicator. + The payload format indicator is part of any MQTT packet that can contain a payload. The indicator is an optional + byte value. + A value of 0 indicates an “unspecified byte stream”. + A value of 1 indicates a "UTF-8 encoded payload". + If no payload format indicator is provided, the default value is 0. + Hint: MQTT 5 feature only. + + + + + Gets or sets the quality of service level. + The Quality of Service (QoS) level is an agreement between the sender of a message and the receiver of a message + that defines the guarantee of delivery for a specific message. + There are 3 QoS levels in MQTT: + - At most once (0): Message gets delivered no time, once or multiple times. + - At least once (1): Message gets delivered at least once (one time or more often). + - Exactly once (2): Message gets delivered exactly once (It's ensured that the message only comes once). + + + + + Gets or sets the response topic. + In MQTT 5 the ability to publish a response topic was added in the publish message which allows you to implement + the request/response pattern between clients that is common in web applications. + Hint: MQTT 5 feature only. + + + + + Gets or sets a value indicating whether the message should be retained or not. + A retained message is a normal MQTT message with the retained flag set to true. + The broker stores the last retained message and the corresponding QoS for that topic. + + + + + Gets or sets the subscription identifiers. + The client can specify a subscription identifier when subscribing. + The broker will establish and store the mapping relationship between this subscription and subscription identifier + when successfully create or modify subscription. + The broker will return the subscription identifier associated with this PUBLISH packet and the PUBLISH packet to + the client when need to forward PUBLISH packets matching this subscription to this client. + Hint: MQTT 5 feature only. + + + + + Gets or sets the MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected + client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level + separator). + + + + + Gets or sets the topic alias. + Topic aliases were introduced are a mechanism for reducing the size of published packets by reducing the size of + the topic field. + A value of 0 indicates no topic alias is used. + Hint: MQTT 5 feature only. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + Hint: MQTT 5 feature only. + + + + + Adds the content type to the message. + MQTT 5.0.0+ feature. + + + + + Adds the correlation data to the message. + MQTT 5.0.0+ feature. + + + + + Adds the message expiry interval in seconds to the message. + MQTT 5.0.0+ feature. + + + + + Adds the payload format indicator to the message. + MQTT 5.0.0+ feature. + + + + + The quality of service level. + The Quality of Service (QoS) level is an agreement between the sender of a message and the receiver of a message + that defines the guarantee of delivery for a specific message. + There are 3 QoS levels in MQTT: + - At most once (0): Message gets delivered no time, once or multiple times. + - At least once (1): Message gets delivered at least once (one time or more often). + - Exactly once (2): Message gets delivered exactly once (It's ensured that the message only comes once). + + + + + Adds the response topic to the message. + MQTT 5.0.0+ feature. + + + + + A value indicating whether the message should be retained or not. + A retained message is a normal MQTT message with the retained flag set to true. + The broker stores the last retained message and the corresponding QoS for that topic. + + + + + Adds the subscription identifier to the message. + MQTT 5.0.0+ feature. + + + + + The MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected + client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level + separator). + + + + + Adds the topic alias to the message. + MQTT 5.0.0+ feature. + + + + + Adds the user property to the message. + MQTT 5.0.0+ feature. + + + + + The quality of service level. + The Quality of Service (QoS) level is an agreement between the sender of a message and the receiver of a message that defines the guarantee of delivery for a specific message. + There are 3 QoS levels in MQTT: + - At most once (0): Message gets delivered no time, once or multiple times. + - At least once (1): Message gets delivered at least once (one time or more often). + - Exactly once (2): Message gets delivered exactly once (It's ensured that the message only comes once). + + + + + The MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level separator). + + + + Added in MQTTv5.0.0. + + + + Added in MQTTv5. + + + + + Added in MQTTv3.1.1. + + + + + Added in MQTTv5. + + + + + Also called "Clean Start" in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Reason Code is used in MQTTv5.0.0 and backward compatible to v.3.1.1. Return Code is used in MQTTv3.1.1 + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + It is a Protocol Error if the Subscription Identifier has a value of 0. + + + + + Added in MQTTv5. + + + + + Gets or sets a value indicating whether the sender will not receive its own published application messages. + MQTT 5.0.0+ feature. + + + + + Gets or sets the quality of service level. + The Quality of Service (QoS) level is an agreement between the sender of a message and the receiver of a message + that defines the guarantee of delivery for a specific message. + There are 3 QoS levels in MQTT: + - At most once (0): Message gets delivered no time, once or multiple times. + - At least once (1): Message gets delivered at least once (one time or more often). + - Exactly once (2): Message gets delivered exactly once (It's ensured that the message only comes once). + + + + + Gets or sets a value indicating whether messages are retained as published or not. + MQTT 5.0.0+ feature. + + + + + Gets or sets the retain handling. + MQTT 5.0.0+ feature. + + + + + Gets or sets the MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected + client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level + separator). + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + The message is accepted but there are no subscribers. This is sent only by the Server. If the Server knows that there are no matching subscribers, it MAY use this Reason Code instead of 0x00 (Success). + + + + + The reason string is sent to every client via a DISCONNECT packet. + MQTT 5.0.0+ feature. + + + + + The server reference is sent to every client via a DISCONNECT packet. + MQTT 5.0.0+ feature. + + + + + These user properties are sent to every client via a DISCONNECT packet. + MQTT 5.0.0+ feature. + + + + + Gets the application message which was not consumed by any client. + + + + + Gets the ID of the client which has sent the affected application message. + + + + + Gets the packet which was used for acknowledge. This can be a PubAck or PubComp packet. + + + + + Gets the ID of the client which acknowledged a PUBLISH packet. + + + + + Gets whether the PUBLISH packet is fully acknowledged. This is the case for PUBACK (QoS 1) and PUBCOMP (QoS 2. + + + + + Gets the PUBLISH packet which was acknowledged. + + + + + Gets the session items which contain custom user data per session. + + + + + Gets the client identifier of the connected client. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets the endpoint of the connected client. + + + + + Gets the protocol version which is used by the connected client. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the user name of the connected client. + + + + + Gets the user properties sent by the client. + MQTT 5.0.0+ feature. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets the reason code sent by the client. + Only available for clean disconnects. + MQTT 5.0.0+ feature. + + + + + Gets the reason string sent by the client. + Only available for clean disconnects. + MQTT 5.0.0+ feature. + + + + + Gets the session expiry interval sent by the client. + Only available for clean disconnects. + MQTT 5.0.0+ feature. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the user properties sent by the client. + Only available for clean disconnects. + MQTT 5.0.0+ feature. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the topic filter. + The topic filter can contain topics and wildcards. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the topic filter. + The topic filter can contain topics and wildcards. + + + + + Gets or sets whether the enqueue of the application message should be performed or not. + If set to _False_ the client will not receive the application message. + + + + + Indicates if the connection with the sender should be closed. + + + + + Gets the cancellation token from the connection managing thread. + Use this in further event processing. + + + + + Gets the client ID which has sent the packet or will receive the packet. + + + + + Gets the endpoint of the sending or receiving client. + + + + + Gets or sets the MQTT packet which was received or will be sent. + + + + + Gets or sets whether the packet should be processed or not. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the cancellation token which can indicate that the client connection gets down. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets whether the publish should be processed internally. + + + + + Gets the response which will be sent to the client via the PUBACK etc. packets. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the cancellation token which can indicate that the client connection gets down. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets whether the broker should close the client connection. + + + + + Gets or sets whether the broker should create an internal subscription for the client. + The broker can also avoid this and return "success" to the client. + This feature allows using the MQTT Broker as the Frontend and another system as the backend. + + + + + Gets or sets the reason string which will be sent to the client in the SUBACK packet. + + + + + Gets the response which will be sent to the client via the SUBACK packet. + + + + + Gets the current client session. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the topic filter. + The topic filter can contain topics and wildcards. + + + + + Gets or sets the user properties. + MQTT 5.0.0+ feature. + + + + + Gets the cancellation token which can indicate that the client connection gets down. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets whether the broker should close the client connection. + + + + + Gets or sets whether the broker should remove an internal subscription for the client. + The broker can also avoid this and return "success" to the client. + This feature allows using the MQTT Broker as the Frontend and another system as the backend. + + + + + Gets the response which will be sent to the client via the UNSUBACK pocket. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected + client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level + separator). + + + + + Gets or sets the user properties. + MQTT 5.0.0+ feature. + + + + + Gets the will delay interval. + This is the time between the client disconnect and the time the will message will be sent. + + + + + Gets the ID of the session. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the assigned client identifier. + MQTTv5 only. + + + + + Gets or sets the authentication data. + MQTT 5.0.0+ feature. + + + + + Gets or sets the authentication method. + MQTT 5.0.0+ feature. + + + + + Gets the channel adapter. This can be a _MqttConnectionContext_ (used in ASP.NET), a _MqttChannelAdapter_ (used for + TCP or WebSockets) or a custom implementation. + + + + + Gets or sets a value indicating whether clean sessions are used or not. + When a client connects to a broker it can connect using either a non persistent connection (clean session) or a + persistent connection. + With a non persistent connection the broker doesn't store any subscription information or undelivered messages for + the client. + This mode is ideal when the client only publishes messages. + It can also connect as a durable client using a persistent connection. + In this mode, the broker will store subscription information, and undelivered messages for the client. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets the keep alive period. + The connection is normally left open by the client so that is can send and receive data at any time. + If no data flows over an open connection for a certain time period then the client will generate a PINGREQ and + expect to receive a PINGRESP from the broker. + This message exchange confirms that the connection is open and working. + This period is known as the keep alive period. + + + + + A value of 0 indicates that the value is not used. + + + + + Gets or sets the reason code. When a MQTTv3 client connects the enum value must be one which is + also supported in MQTTv3. Otherwise the connection attempt will fail because not all codes can be + converted properly. + MQTT 5.0.0+ feature. + + + + + Gets or sets the receive maximum. + This gives the maximum length of the receive messages. + A value of 0 indicates that the value is not used. + + + + + Gets the request problem information. + MQTT 5.0.0+ feature. + + + + + Gets the request response information. + MQTT 5.0.0+ feature. + + + + + Gets or sets the response authentication data. + MQTT 5.0.0+ feature. + + + + + Gets or sets the response user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Gets or sets the server reference. This can be used together with i.e. "Server Moved" to send + a different server address to the client. + MQTT 5.0.0+ feature. + + + + + Gets the session expiry interval. + The time after a session expires when it's not actively used. + A value of 0 means no expiation. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the topic alias maximum. + This gives the maximum length of the topic alias. + A value of 0 indicates that the value is not used. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Gets or sets the will delay interval. + This is the time between the client disconnect and the time the will message will be sent. + A value of 0 indicates that the value is not used. + + + + + Gets or sets the session items which should be used for all event handlers which are involved in message + processing. + If _null_ is specified the singleton session items from the server are used instead. + + + + + Timestamp of the last package that has been sent to the client ("received" from the client's perspective) + + + + + Timestamp of the last package that has been received from the client ("sent" from the client's perspective) + + + + + Session should persist if CleanSession was set to false (Mqtt3) or if SessionExpiryInterval != 0 (Mqtt5) + + + + + Helper class that stores subscriptions by their topic hash mask. + + + + + Gets or sets whether the server will accept new connections. + If not, the server will close the connection without any notification (DISCONNECT packet). + This feature can be used when the server is shutting down. + + + + + Gives access to the session items which belong to this server. This session items are passed + to several events instead of the client session items if the event is caused by the server instead of a client. + + + + + When this mode is enabled the MQTT server will not close a connection when the + client is currently sending a (large) payload. This may lead to "dead" connections + When this mode is disabled the MQTT server will disconnect a client when the keep + alive timeout is reached even if the client is currently sending a (large) payload. + + + + + Gets or sets the default and initial size of the packet write buffer. + It is recommended to set this to a value close to the usual expected packet size * 1.5. + Do not change this value when no memory issues are experienced. + + + + + Gets or sets the maximum size of the buffer writer. The writer will reduce its internal buffer + to this value after serializing a packet. + Do not change this value when no memory issues are experienced. + + + + + Usually the MQTT packets can be send partially to improve memory allocations. + This is done by using multiple TCP packets or WebSocket frames etc. + Unfortunately not all clients do support this and will close the connection when receiving partial packets. + + + + + Gets or sets whether the sockets keep alive feature should be used. + The value _null_ indicates that the OS and framework defaults should be used. + + + + + Usually the MQTT packets can be send partially. This is done by using multiple TCP packets + or WebSocket frames etc. Unfortunately not all clients do support this feature and + will close the connection when receiving such packets. If such clients are connecting to this + server the flag must be set to _false_. + + + + + Gets or sets the TCP keep alive interval. + The value _null_ indicates that the OS and framework defaults should be used. + + + + + Gets or sets the TCP keep alive retry count. + The value _null_ indicates that the OS and framework defaults should be used. + + + + + Gets or sets the TCP keep alive time. + The value _null_ indicates that the OS and framework defaults should be used. + + + + + This requires admin permissions on Linux. + + + + + Gets or sets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + These disconnect options are sent to every connected client via a DISCONNECT packet. + MQTT 5.0.0+ feature. + + + + + Gets or sets the reason code which is sent to the client. + The subscription is skipped when the value is not GrantedQoS_. + MQTTv5 only. + + + + + Gets or sets the reason code which is sent to the client. + MQTTv5 only. + + + + diff --git a/LeatherProject/packages/MQTTnet.4.3.3.952/lib/uap10.0.10240/MQTTnet.pri b/LeatherProject/packages/MQTTnet.4.3.3.952/lib/uap10.0.10240/MQTTnet.pri new file mode 100644 index 0000000..fe0144f Binary files /dev/null and b/LeatherProject/packages/MQTTnet.4.3.3.952/lib/uap10.0.10240/MQTTnet.pri differ diff --git a/LeatherProject/packages/MQTTnet.4.3.3.952/lib/uap10.0.10240/MQTTnet.xml b/LeatherProject/packages/MQTTnet.4.3.3.952/lib/uap10.0.10240/MQTTnet.xml new file mode 100644 index 0000000..1d7aa18 --- /dev/null +++ b/LeatherProject/packages/MQTTnet.4.3.3.952/lib/uap10.0.10240/MQTTnet.xml @@ -0,0 +1,1760 @@ + + + + MQTTnet + + + + + Gets the authentication result. + MQTT 5.0.0+ feature. + + + + + Gets the result code. + MQTTv5 only. + + + + + Gets a value indicating whether a session was already available or not. + MQTTv5 only. + + + + + Gets a value indicating whether wildcards can be used in subscriptions at the current server. + MQTTv5 only. + + + + + Gets whether the server supports retained messages. + MQTTv5 only. + + + + + Gets the client identifier which was chosen by the server. + MQTTv5 only. + + + + + Gets the authentication method. + MQTTv5 only. + + + + + Gets the authentication data. + MQTTv5 only. + + + + + Gets the reason string. + MQTTv5 only. + + + + + Gets the maximum QoS which is supported by the server. + MQTTv5 only. + + + + + Gets the response information. + MQTTv5 only. + + + + + Gets the maximum value for a topic alias. 0 means not supported. + MQTTv5 only. + + + + + Gets an alternate server which should be used instead of the current one. + MQTTv5 only. + + + + + MQTTv5 only. + Gets the keep alive interval which was chosen by the server instead of the + keep alive interval from the client CONNECT packet. + A value of 0 indicates that the feature is not used. + + + + + Gets a value indicating whether the subscription identifiers are available or not. + MQTTv5 only. + + + + + Gets a value indicating whether the shared subscriptions are available or not. + MQTTv5 only. + + + + + Gets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTTv5 only. + + + + + Gets the authentication result. + MQTT 5.0.0+ feature. + + + + + Gets or sets the reason. + MQTT 5.0.0+ feature. + + + + + Gets or sets the reason code. + MQTT 5.0.0+ feature. + + + + + Gets or sets the reason string. + MQTT 5.0.0+ feature. + + + + + Gets or sets the session expiry interval. + MQTT 5.0.0+ feature. + + + + + Gets or sets the user properties. + MQTT 5.0.0+ feature. + + + + + This enum only contains values which are valid when a client sends the reason to the server. + + + + + Gets the reason code. + Hint: MQTT 5 feature only. + + + + + Gets the reason string. + Hint: MQTT 5 feature only. + + + + + Gets the authentication method. + Hint: MQTT 5 feature only. + + + + + Gets the authentication data. + Hint: MQTT 5 feature only. + + + + + Gets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + Hint: MQTT 5 feature only. + + + + + Gets or sets the reason code. + Hint: MQTT 5 feature only. + + + + + Gets or sets the reason string. + Hint: MQTT 5 feature only. + + + + + Gets or sets the authentication data. + Authentication data is binary information used to transmit multiple iterations of cryptographic secrets of protocol steps. + The content of the authentication data is highly dependent on the specific implementation of the authentication method. + Hint: MQTT 5 feature only. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + Hint: MQTT 5 feature only. + + + + + Usually the MQTT packets can be send partially. This is done by using multiple TCP packets + or WebSocket frames etc. Unfortunately not all brokers (like Amazon Web Services (AWS)) do support this feature and + will close the connection when receiving such packets. If such a service is used this flag must + be set to _false_. + + + + + Gets or sets the authentication data. + MQTT 5.0.0+ feature. + + + + + Gets or sets the authentication method. + MQTT 5.0.0+ feature. + + + + + Gets or sets a value indicating whether clean sessions are used or not. + When a client connects to a broker it can connect using either a non persistent connection (clean session) or a + persistent connection. + With a non persistent connection the broker doesn't store any subscription information or undelivered messages for + the client. + This mode is ideal when the client only publishes messages. + It can also connect as a durable client using a persistent connection. + In this mode, the broker will store subscription information, and undelivered messages for the client. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets the keep alive period. + The connection is normally left open by the client so that is can send and receive data at any time. + If no data flows over an open connection for a certain time period then the client will generate a PINGREQ and + expect to receive a PINGRESP from the broker. + This message exchange confirms that the connection is open and working. + This period is known as the keep alive period. + + + + + Gets or sets the maximum packet size. + MQTT 5.0.0+ feature. + + + + + Gets or sets the receive maximum. + This gives the maximum length of the receive messages. + MQTT 5.0.0+ feature. + + + + + Gets or sets the request problem information. + MQTT 5.0.0+ feature. + + + + + Gets or sets the request response information. + MQTT 5.0.0+ feature. + + + + + Gets or sets the session expiry interval. + The time after a session expires when it's not actively used. + MQTT 5.0.0+ feature. + + + + + Gets or sets whether an exception should be thrown when the server has sent a non success ACK packet. + + + + + Gets or sets the timeout which will be applied at socket level and internal operations. + The default value is the same as for sockets in .NET in general. + + + + + Gets or sets the topic alias maximum. + This gives the maximum length of the topic alias. + MQTT 5.0.0+ feature. + + + + + If set to true, the bridge will attempt to indicate to the remote broker that it is a bridge not an ordinary + client. + If successful, this means that loop detection will be more effective and that retained messages will be propagated + correctly. + + Not all brokers support this feature so it may be necessary to set it to false if your bridge does not + connect properly. + + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + When this feature is enabled the client will check if used properties are supported in the selected protocol + version. + This feature can be validated if an application message is generated one time but sent via different protocol + versions. + Default values are applied if the validation is off and features are not supported. + + + + + Gets or sets the content type of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the correlation data of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the will delay interval. + This is the time between the client disconnect and the time the will message will be sent. + MQTT 5.0.0+ feature. + + + + + Gets or sets the message expiry interval of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the payload of the will message. + + + + + Gets or sets the payload format indicator of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the QoS level of the will message. + + + + + Gets or sets the response topic of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the retain flag of the will message. + + + + + Gets or sets the topic of the will message. + + + + + Gets or sets the user properties of the will message. + MQTT 5.0.0+ feature. + + + + + Gets or sets the default and initial size of the packet write buffer. + It is recommended to set this to a value close to the usual expected packet size * 1.5. + Do not change this value when no memory issues are experienced. + + + + + Gets or sets the maximum size of the buffer writer. The writer will reduce its internal buffer + to this value after serializing a packet. + Do not change this value when no memory issues are experienced. + + + + + Clean session is used in MQTT versions below 5.0.0. It is the same as setting "CleanStart". + + + + + Clean start is used in MQTT versions 5.0.0 and higher. It is the same as setting "CleanSession". + + + + + Usually the MQTT packets can be send partially. This is done by using multiple TCP packets + or WebSocket frames etc. Unfortunately not all brokers (like Amazon Web Services (AWS)) do support this feature and + will close the connection when receiving such packets. If such a service is used this flag must + be set to _true_. + + + + + The client will not throw an exception when the MQTT server responses with a non success ACK packet. + This will become the default behavior in future versions of the library. + + + + + Sets the timeout which will be applied at socket level and internal operations. + The default value is the same as for sockets in .NET in general. + + + + + If set to true, the bridge will attempt to indicate to the remote broker that it is a bridge not an ordinary + client. + If successful, this means that loop detection will be more effective and that retained messages will be propagated + correctly. + Not all brokers support this feature so it may be necessary to set it to false if your bridge does not connect + properly. + + + + + Gets the local endpoint (network card) which is used by the client. + Set it to _null_ to let the OS select the network card. + + + + + Gets or sets whether the underlying socket should run in dual mode. + Leaving this _null_ will avoid setting this value at socket level. + Setting this a value other than _null_ will throw an exception when only IPv4 is supported on the machine. + + + + + Gets or sets the provider for certificates. + This provider gets called whenever the client wants to connect + with the server and requires certificates for authentication. + The implementation may return different certificates each time. + + + + + Gets or sets the target host. + If the value is null or empty the same host as the TCP socket host will be used. + + + + + Gets or sets the keep alive interval for the Web Socket connection. + This is not related to the keep alive interval for the MQTT protocol. + + + + + Returns if the overall status of the publish is a success. This can be the reason code _Success_ or + _NoMatchingSubscribers_. _NoMatchingSubscribers_ usually indicates only that no other client is interested in the + topic but overall transmit + to the server etc. was a success. + + + + + Gets the packet identifier which was used for this publish. + + + + + Gets or sets the reason code. + MQTT 5.0.0+ feature. + + + + + Gets or sets the reason string. + MQTT 5.0.0+ feature. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Gets or sets whether the library should send MQTT ACK packets automatically if required. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets whether this message was handled. + This value can be used in user code for custom control flow. + + + + + Gets the identifier of the MQTT packet + + + + + Indicates if the processing of this PUBLISH packet has failed. + If the processing has failed the client will not send an ACK packet etc. + + + + + Gets or sets the reason code which will be sent to the server. + + + + + Gets or sets the reason string which will be sent to the server in the ACK packet. + + + + + Gets or sets the user properties which will be sent to the server in the ACK packet etc. + + + + + Gets or sets the subscription identifier. + The client can specify a subscription identifier when subscribing. + The broker will establish and store the mapping relationship between this subscription and subscription identifier + when successfully create or modify subscription. + The broker will return the subscription identifier associated with this PUBLISH packet and the PUBLISH packet to + the client when need to forward PUBLISH packets matching this subscription to this client. + MQTT 5.0.0+ feature. + + + + + Gets or sets a list of topic filters the client wants to subscribe to. + Topic filters can include regular topics or wild cards. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Adds the user property to the subscribe options. + MQTT 5.0.0+ feature. + + + + + Gets the result for every topic filter item. + + + + + Gets the user properties which were part of the SUBACK packet. + MQTT 5.0.0+ feature. + + + + + Gets the reason string. + MQTT 5.0.0+ feature. + + + + + Gets the packet identifier which was used. + + + + + Gets or sets the topic filter. + The topic filter can contain topics and wildcards. + + + + + Gets or sets the result code. + MQTT 5.0.0+ feature. + + + + + Gets or sets a list of topic filters the client wants to unsubscribe from. + Topic filters can include regular topics or wild cards. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Adds the user property to the unsubscribe options. + MQTT 5.0.0+ feature. + + + + + Adds the user property to the unsubscribe options. + MQTT 5.0.0+ feature. + + + + + Gets the result for every topic filter item. + + + + + Gets the packet identifier which was used. + + + + + Gets the reason string. + MQTT 5.0.0+ feature. + + + + + Gets the user properties which were part of the UNSUBACK packet. + MQTT 5.0.0+ feature. + + + + + Gets or sets the result code. + MQTT 5.0.0+ feature. + + + + + Gets or sets the topic filter. + The topic filter can contain topics and wildcards. + + + + + This logger fires an event when a new message was published. + + + + + This logger does nothing with the messages. + + + + + This is a custom implementation of a memory stream which provides only MQTTnet relevant features. + The goal is to avoid lots of argument checks like in the original stream. The growth rule is the + same as for the original MemoryStream in .net. Also this implementation allows accessing the internal + buffer for all platforms and .net framework versions (which is not available at the regular MemoryStream). + + + + + Gets or sets the content type. + The content type must be a UTF-8 encoded string. The content type value identifies the kind of UTF-8 encoded + payload. + + + + + Gets or sets the correlation data. + In order for the sender to know what sent message the response refers to it can also send correlation data with the + published message. + Hint: MQTT 5 feature only. + + + + + If the DUP flag is set to 0, it indicates that this is the first occasion that the Client or Server has attempted + to send this MQTT PUBLISH Packet. + If the DUP flag is set to 1, it indicates that this might be re-delivery of an earlier attempt to send the Packet. + The DUP flag MUST be set to 1 by the Client or Server when it attempts to re-deliver a PUBLISH Packet + [MQTT-3.3.1.-1]. + The DUP flag MUST be set to 0 for all QoS 0 messages [MQTT-3.3.1-2]. + + + + + Gets or sets the message expiry interval. + A client can set the message expiry interval in seconds for each PUBLISH message individually. + This interval defines the period of time that the broker stores the PUBLISH message for any matching subscribers + that are not currently connected. + When no message expiry interval is set, the broker must store the message for matching subscribers indefinitely. + When the retained=true option is set on the PUBLISH message, this interval also defines how long a message is + retained on a topic. + Hint: MQTT 5 feature only. + + + + + Gets or sets the payload. + The payload is the data bytes sent via the MQTT protocol. + + + + + Get or set ArraySegment style of Payload. + + + + + Gets or sets the payload format indicator. + The payload format indicator is part of any MQTT packet that can contain a payload. The indicator is an optional + byte value. + A value of 0 indicates an “unspecified byte stream”. + A value of 1 indicates a "UTF-8 encoded payload". + If no payload format indicator is provided, the default value is 0. + Hint: MQTT 5 feature only. + + + + + Gets or sets the quality of service level. + The Quality of Service (QoS) level is an agreement between the sender of a message and the receiver of a message + that defines the guarantee of delivery for a specific message. + There are 3 QoS levels in MQTT: + - At most once (0): Message gets delivered no time, once or multiple times. + - At least once (1): Message gets delivered at least once (one time or more often). + - Exactly once (2): Message gets delivered exactly once (It's ensured that the message only comes once). + + + + + Gets or sets the response topic. + In MQTT 5 the ability to publish a response topic was added in the publish message which allows you to implement + the request/response pattern between clients that is common in web applications. + Hint: MQTT 5 feature only. + + + + + Gets or sets a value indicating whether the message should be retained or not. + A retained message is a normal MQTT message with the retained flag set to true. + The broker stores the last retained message and the corresponding QoS for that topic. + + + + + Gets or sets the subscription identifiers. + The client can specify a subscription identifier when subscribing. + The broker will establish and store the mapping relationship between this subscription and subscription identifier + when successfully create or modify subscription. + The broker will return the subscription identifier associated with this PUBLISH packet and the PUBLISH packet to + the client when need to forward PUBLISH packets matching this subscription to this client. + Hint: MQTT 5 feature only. + + + + + Gets or sets the MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected + client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level + separator). + + + + + Gets or sets the topic alias. + Topic aliases were introduced are a mechanism for reducing the size of published packets by reducing the size of + the topic field. + A value of 0 indicates no topic alias is used. + Hint: MQTT 5 feature only. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + Hint: MQTT 5 feature only. + + + + + Adds the content type to the message. + MQTT 5.0.0+ feature. + + + + + Adds the correlation data to the message. + MQTT 5.0.0+ feature. + + + + + Adds the message expiry interval in seconds to the message. + MQTT 5.0.0+ feature. + + + + + Adds the payload format indicator to the message. + MQTT 5.0.0+ feature. + + + + + The quality of service level. + The Quality of Service (QoS) level is an agreement between the sender of a message and the receiver of a message + that defines the guarantee of delivery for a specific message. + There are 3 QoS levels in MQTT: + - At most once (0): Message gets delivered no time, once or multiple times. + - At least once (1): Message gets delivered at least once (one time or more often). + - Exactly once (2): Message gets delivered exactly once (It's ensured that the message only comes once). + + + + + Adds the response topic to the message. + MQTT 5.0.0+ feature. + + + + + A value indicating whether the message should be retained or not. + A retained message is a normal MQTT message with the retained flag set to true. + The broker stores the last retained message and the corresponding QoS for that topic. + + + + + Adds the subscription identifier to the message. + MQTT 5.0.0+ feature. + + + + + The MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected + client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level + separator). + + + + + Adds the topic alias to the message. + MQTT 5.0.0+ feature. + + + + + Adds the user property to the message. + MQTT 5.0.0+ feature. + + + + + The quality of service level. + The Quality of Service (QoS) level is an agreement between the sender of a message and the receiver of a message that defines the guarantee of delivery for a specific message. + There are 3 QoS levels in MQTT: + - At most once (0): Message gets delivered no time, once or multiple times. + - At least once (1): Message gets delivered at least once (one time or more often). + - Exactly once (2): Message gets delivered exactly once (It's ensured that the message only comes once). + + + + + The MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level separator). + + + + Added in MQTTv5.0.0. + + + + Added in MQTTv5. + + + + + Added in MQTTv3.1.1. + + + + + Added in MQTTv5. + + + + + Also called "Clean Start" in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Reason Code is used in MQTTv5.0.0 and backward compatible to v.3.1.1. Return Code is used in MQTTv3.1.1 + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + It is a Protocol Error if the Subscription Identifier has a value of 0. + + + + + Added in MQTTv5. + + + + + Gets or sets a value indicating whether the sender will not receive its own published application messages. + MQTT 5.0.0+ feature. + + + + + Gets or sets the quality of service level. + The Quality of Service (QoS) level is an agreement between the sender of a message and the receiver of a message + that defines the guarantee of delivery for a specific message. + There are 3 QoS levels in MQTT: + - At most once (0): Message gets delivered no time, once or multiple times. + - At least once (1): Message gets delivered at least once (one time or more often). + - Exactly once (2): Message gets delivered exactly once (It's ensured that the message only comes once). + + + + + Gets or sets a value indicating whether messages are retained as published or not. + MQTT 5.0.0+ feature. + + + + + Gets or sets the retain handling. + MQTT 5.0.0+ feature. + + + + + Gets or sets the MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected + client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level + separator). + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + Added in MQTTv5. + + + + + The message is accepted but there are no subscribers. This is sent only by the Server. If the Server knows that there are no matching subscribers, it MAY use this Reason Code instead of 0x00 (Success). + + + + + The reason string is sent to every client via a DISCONNECT packet. + MQTT 5.0.0+ feature. + + + + + The server reference is sent to every client via a DISCONNECT packet. + MQTT 5.0.0+ feature. + + + + + These user properties are sent to every client via a DISCONNECT packet. + MQTT 5.0.0+ feature. + + + + + Gets the application message which was not consumed by any client. + + + + + Gets the ID of the client which has sent the affected application message. + + + + + Gets the packet which was used for acknowledge. This can be a PubAck or PubComp packet. + + + + + Gets the ID of the client which acknowledged a PUBLISH packet. + + + + + Gets whether the PUBLISH packet is fully acknowledged. This is the case for PUBACK (QoS 1) and PUBCOMP (QoS 2. + + + + + Gets the PUBLISH packet which was acknowledged. + + + + + Gets the session items which contain custom user data per session. + + + + + Gets the client identifier of the connected client. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets the endpoint of the connected client. + + + + + Gets the protocol version which is used by the connected client. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the user name of the connected client. + + + + + Gets the user properties sent by the client. + MQTT 5.0.0+ feature. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets the reason code sent by the client. + Only available for clean disconnects. + MQTT 5.0.0+ feature. + + + + + Gets the reason string sent by the client. + Only available for clean disconnects. + MQTT 5.0.0+ feature. + + + + + Gets the session expiry interval sent by the client. + Only available for clean disconnects. + MQTT 5.0.0+ feature. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the user properties sent by the client. + Only available for clean disconnects. + MQTT 5.0.0+ feature. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the topic filter. + The topic filter can contain topics and wildcards. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the topic filter. + The topic filter can contain topics and wildcards. + + + + + Gets or sets whether the enqueue of the application message should be performed or not. + If set to _False_ the client will not receive the application message. + + + + + Indicates if the connection with the sender should be closed. + + + + + Gets the cancellation token from the connection managing thread. + Use this in further event processing. + + + + + Gets the client ID which has sent the packet or will receive the packet. + + + + + Gets the endpoint of the sending or receiving client. + + + + + Gets or sets the MQTT packet which was received or will be sent. + + + + + Gets or sets whether the packet should be processed or not. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the cancellation token which can indicate that the client connection gets down. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets whether the publish should be processed internally. + + + + + Gets the response which will be sent to the client via the PUBACK etc. packets. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets the cancellation token which can indicate that the client connection gets down. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets whether the broker should close the client connection. + + + + + Gets or sets whether the broker should create an internal subscription for the client. + The broker can also avoid this and return "success" to the client. + This feature allows using the MQTT Broker as the Frontend and another system as the backend. + + + + + Gets or sets the reason string which will be sent to the client in the SUBACK packet. + + + + + Gets the response which will be sent to the client via the SUBACK packet. + + + + + Gets the current client session. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the topic filter. + The topic filter can contain topics and wildcards. + + + + + Gets or sets the user properties. + MQTT 5.0.0+ feature. + + + + + Gets the cancellation token which can indicate that the client connection gets down. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets whether the broker should close the client connection. + + + + + Gets or sets whether the broker should remove an internal subscription for the client. + The broker can also avoid this and return "success" to the client. + This feature allows using the MQTT Broker as the Frontend and another system as the backend. + + + + + Gets the response which will be sent to the client via the UNSUBACK pocket. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the MQTT topic. + In MQTT, the word topic refers to an UTF-8 string that the broker uses to filter messages for each connected + client. + The topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level + separator). + + + + + Gets or sets the user properties. + MQTT 5.0.0+ feature. + + + + + Gets the will delay interval. + This is the time between the client disconnect and the time the will message will be sent. + + + + + Gets the ID of the session. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the assigned client identifier. + MQTTv5 only. + + + + + Gets or sets the authentication data. + MQTT 5.0.0+ feature. + + + + + Gets or sets the authentication method. + MQTT 5.0.0+ feature. + + + + + Gets the channel adapter. This can be a _MqttConnectionContext_ (used in ASP.NET), a _MqttChannelAdapter_ (used for + TCP or WebSockets) or a custom implementation. + + + + + Gets or sets a value indicating whether clean sessions are used or not. + When a client connects to a broker it can connect using either a non persistent connection (clean session) or a + persistent connection. + With a non persistent connection the broker doesn't store any subscription information or undelivered messages for + the client. + This mode is ideal when the client only publishes messages. + It can also connect as a durable client using a persistent connection. + In this mode, the broker will store subscription information, and undelivered messages for the client. + + + + + Gets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + Gets or sets the keep alive period. + The connection is normally left open by the client so that is can send and receive data at any time. + If no data flows over an open connection for a certain time period then the client will generate a PINGREQ and + expect to receive a PINGRESP from the broker. + This message exchange confirms that the connection is open and working. + This period is known as the keep alive period. + + + + + A value of 0 indicates that the value is not used. + + + + + Gets or sets the reason code. When a MQTTv3 client connects the enum value must be one which is + also supported in MQTTv3. Otherwise the connection attempt will fail because not all codes can be + converted properly. + MQTT 5.0.0+ feature. + + + + + Gets or sets the receive maximum. + This gives the maximum length of the receive messages. + A value of 0 indicates that the value is not used. + + + + + Gets the request problem information. + MQTT 5.0.0+ feature. + + + + + Gets the request response information. + MQTT 5.0.0+ feature. + + + + + Gets or sets the response authentication data. + MQTT 5.0.0+ feature. + + + + + Gets or sets the response user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Gets or sets the server reference. This can be used together with i.e. "Server Moved" to send + a different server address to the client. + MQTT 5.0.0+ feature. + + + + + Gets the session expiry interval. + The time after a session expires when it's not actively used. + A value of 0 means no expiation. + + + + + Gets or sets a key/value collection that can be used to share data within the scope of this session. + + + + + Gets or sets the topic alias maximum. + This gives the maximum length of the topic alias. + A value of 0 indicates that the value is not used. + + + + + Gets or sets the user properties. + In MQTT 5, user properties are basic UTF-8 string key-value pairs that you can append to almost every type of MQTT + packet. + As long as you don’t exceed the maximum message size, you can use an unlimited number of user properties to add + metadata to MQTT messages and pass information between publisher, broker, and subscriber. + The feature is very similar to the HTTP header concept. + MQTT 5.0.0+ feature. + + + + + Gets or sets the will delay interval. + This is the time between the client disconnect and the time the will message will be sent. + A value of 0 indicates that the value is not used. + + + + + Gets or sets the session items which should be used for all event handlers which are involved in message + processing. + If _null_ is specified the singleton session items from the server are used instead. + + + + + Timestamp of the last package that has been sent to the client ("received" from the client's perspective) + + + + + Timestamp of the last package that has been received from the client ("sent" from the client's perspective) + + + + + Session should persist if CleanSession was set to false (Mqtt3) or if SessionExpiryInterval != 0 (Mqtt5) + + + + + Helper class that stores subscriptions by their topic hash mask. + + + + + Gets or sets whether the server will accept new connections. + If not, the server will close the connection without any notification (DISCONNECT packet). + This feature can be used when the server is shutting down. + + + + + Gives access to the session items which belong to this server. This session items are passed + to several events instead of the client session items if the event is caused by the server instead of a client. + + + + + When this mode is enabled the MQTT server will not close a connection when the + client is currently sending a (large) payload. This may lead to "dead" connections + When this mode is disabled the MQTT server will disconnect a client when the keep + alive timeout is reached even if the client is currently sending a (large) payload. + + + + + Gets or sets the default and initial size of the packet write buffer. + It is recommended to set this to a value close to the usual expected packet size * 1.5. + Do not change this value when no memory issues are experienced. + + + + + Gets or sets the maximum size of the buffer writer. The writer will reduce its internal buffer + to this value after serializing a packet. + Do not change this value when no memory issues are experienced. + + + + + Usually the MQTT packets can be send partially to improve memory allocations. + This is done by using multiple TCP packets or WebSocket frames etc. + Unfortunately not all clients do support this and will close the connection when receiving partial packets. + + + + + Gets or sets whether the sockets keep alive feature should be used. + The value _null_ indicates that the OS and framework defaults should be used. + + + + + Usually the MQTT packets can be send partially. This is done by using multiple TCP packets + or WebSocket frames etc. Unfortunately not all clients do support this feature and + will close the connection when receiving such packets. If such clients are connecting to this + server the flag must be set to _false_. + + + + + Gets or sets the TCP keep alive interval. + The value _null_ indicates that the OS and framework defaults should be used. + + + + + Gets or sets the TCP keep alive retry count. + The value _null_ indicates that the OS and framework defaults should be used. + + + + + Gets or sets the TCP keep alive time. + The value _null_ indicates that the OS and framework defaults should be used. + + + + + This requires admin permissions on Linux. + + + + + Gets or sets the client identifier. + Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues. + + + + + These disconnect options are sent to every connected client via a DISCONNECT packet. + MQTT 5.0.0+ feature. + + + + + Gets or sets the reason code which is sent to the client. + The subscription is skipped when the value is not GrantedQoS_. + MQTTv5 only. + + + + + Gets or sets the reason code which is sent to the client. + MQTTv5 only. + + + + diff --git a/LeatherProject/packages/MQTTnet.4.3.3.952/nuget.png b/LeatherProject/packages/MQTTnet.4.3.3.952/nuget.png new file mode 100644 index 0000000..b725537 Binary files /dev/null and b/LeatherProject/packages/MQTTnet.4.3.3.952/nuget.png differ