<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MQTTClient: MQTTSession Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">MQTTClient
   </div>
   <div id="projectbrief">an Objective-C Framework for MQTT</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Instance Methods</a> &#124;
<a href="#properties">Properties</a> &#124;
<a href="interface_m_q_t_t_session-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">MQTTSession Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p><code>#import &lt;<a class="el" href="_m_q_t_t_session_8h_source.html">MQTTSession.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for MQTTSession:</div>
<div class="dyncontent">
 <div class="center">
  <img src="interface_m_q_t_t_session.png" usemap="#MQTTSession_map" alt=""/>
  <map id="MQTTSession_map" name="MQTTSession_map">
</map>
 </div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Instance Methods</h2></td></tr>
<tr class="memitem:ad443eb80793d71150a825513303405b5"><td class="memItemLeft" align="right" valign="top">(void)&#160;</td><td class="memItemRight" valign="bottom">- <a class="el" href="interface_m_q_t_t_session.html#ad443eb80793d71150a825513303405b5">connect</a></td></tr>
<tr class="separator:ad443eb80793d71150a825513303405b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af2fb37adbbf9eeb28cea7dab43297fd7"><td class="memItemLeft" align="right" valign="top">(void)&#160;</td><td class="memItemRight" valign="bottom">- <a class="el" href="interface_m_q_t_t_session.html#af2fb37adbbf9eeb28cea7dab43297fd7">connectWithConnectHandler:</a></td></tr>
<tr class="separator:af2fb37adbbf9eeb28cea7dab43297fd7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef2d0980b561184800908e95dd3a9fc7"><td class="memItemLeft" align="right" valign="top">(void)&#160;</td><td class="memItemRight" valign="bottom">- <a class="el" href="interface_m_q_t_t_session.html#aef2d0980b561184800908e95dd3a9fc7">disconnect</a></td></tr>
<tr class="separator:aef2d0980b561184800908e95dd3a9fc7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a693cd5762ad92a97971ba95b7e0235c3"><td class="memItemLeft" align="right" valign="top">(void)&#160;</td><td class="memItemRight" valign="bottom">- <a class="el" href="interface_m_q_t_t_session.html#a693cd5762ad92a97971ba95b7e0235c3">disconnectWithReturnCode:sessionExpiryInterval:reasonString:userProperty:</a></td></tr>
<tr class="separator:a693cd5762ad92a97971ba95b7e0235c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aee55d52a9b6395f1a0d73b672900629c"><td class="memItemLeft" align="right" valign="top">(<a class="el" href="interface_m_q_t_t_session.html">MQTTSession</a> *)&#160;</td><td class="memItemRight" valign="bottom">- <a class="el" href="interface_m_q_t_t_session.html#aee55d52a9b6395f1a0d73b672900629c">init</a></td></tr>
<tr class="separator:aee55d52a9b6395f1a0d73b672900629c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aafb7270fc99918effc0a39064ee5f91e"><td class="memItemLeft" align="right" valign="top">(UInt16)&#160;</td><td class="memItemRight" valign="bottom">- <a class="el" href="interface_m_q_t_t_session.html#aafb7270fc99918effc0a39064ee5f91e">subscribeToTopic:atLevel:</a></td></tr>
<tr class="separator:aafb7270fc99918effc0a39064ee5f91e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adaefcb4ee5a31355846653eddffc494f"><td class="memItemLeft" align="right" valign="top">(UInt16)&#160;</td><td class="memItemRight" valign="bottom">- <a class="el" href="interface_m_q_t_t_session.html#adaefcb4ee5a31355846653eddffc494f">subscribeToTopic:atLevel:subscribeHandler:</a></td></tr>
<tr class="separator:adaefcb4ee5a31355846653eddffc494f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad90eef680e3adc29a75556e4131bdbf6"><td class="memItemLeft" align="right" valign="top">(UInt16)&#160;</td><td class="memItemRight" valign="bottom">- <a class="el" href="interface_m_q_t_t_session.html#ad90eef680e3adc29a75556e4131bdbf6">subscribeToTopics:</a></td></tr>
<tr class="separator:ad90eef680e3adc29a75556e4131bdbf6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a26abfdc1d64491bff4825727042e3342"><td class="memItemLeft" align="right" valign="top">(UInt16)&#160;</td><td class="memItemRight" valign="bottom">- <a class="el" href="interface_m_q_t_t_session.html#a26abfdc1d64491bff4825727042e3342">subscribeToTopics:subscribeHandler:</a></td></tr>
<tr class="separator:a26abfdc1d64491bff4825727042e3342"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b9b75a7232586150cbc348b1262faaf"><td class="memItemLeft" align="right" valign="top">(UInt16)&#160;</td><td class="memItemRight" valign="bottom">- <a class="el" href="interface_m_q_t_t_session.html#a0b9b75a7232586150cbc348b1262faaf">unsubscribeTopic:</a></td></tr>
<tr class="separator:a0b9b75a7232586150cbc348b1262faaf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a49e7dde1369377da92ae0f7fc2eb187f"><td class="memItemLeft" align="right" valign="top">(UInt16)&#160;</td><td class="memItemRight" valign="bottom">- <a class="el" href="interface_m_q_t_t_session.html#a49e7dde1369377da92ae0f7fc2eb187f">unsubscribeTopic:unsubscribeHandler:</a></td></tr>
<tr class="separator:a49e7dde1369377da92ae0f7fc2eb187f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac93b09cbe98c4b8754180e344ef7e908"><td class="memItemLeft" align="right" valign="top">(UInt16)&#160;</td><td class="memItemRight" valign="bottom">- <a class="el" href="interface_m_q_t_t_session.html#ac93b09cbe98c4b8754180e344ef7e908">unsubscribeTopics:</a></td></tr>
<tr class="separator:ac93b09cbe98c4b8754180e344ef7e908"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d566cac765cdcdb2563ffa45ef53bbe"><td class="memItemLeft" align="right" valign="top">(UInt16)&#160;</td><td class="memItemRight" valign="bottom">- <a class="el" href="interface_m_q_t_t_session.html#a1d566cac765cdcdb2563ffa45ef53bbe">unsubscribeTopics:unsubscribeHandler:</a></td></tr>
<tr class="separator:a1d566cac765cdcdb2563ffa45ef53bbe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7551772841b6bc2f46c0848d323fd0f7"><td class="memItemLeft" align="right" valign="top">(UInt16)&#160;</td><td class="memItemRight" valign="bottom">- <a class="el" href="interface_m_q_t_t_session.html#a7551772841b6bc2f46c0848d323fd0f7">publishData:onTopic:retain:qos:</a></td></tr>
<tr class="separator:a7551772841b6bc2f46c0848d323fd0f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7cea798eb2e74c5885fa60dee04539f0"><td class="memItemLeft" align="right" valign="top">(UInt16)&#160;</td><td class="memItemRight" valign="bottom">- <a class="el" href="interface_m_q_t_t_session.html#a7cea798eb2e74c5885fa60dee04539f0">publishData:onTopic:retain:qos:publishHandler:</a></td></tr>
<tr class="separator:a7cea798eb2e74c5885fa60dee04539f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a617d3cee077dd60f48a340d4b34d99"><td class="memItemLeft" align="right" valign="top">(void)&#160;</td><td class="memItemRight" valign="bottom">- <a class="el" href="interface_m_q_t_t_session.html#a5a617d3cee077dd60f48a340d4b34d99">closeWithDisconnectHandler:</a></td></tr>
<tr class="separator:a5a617d3cee077dd60f48a340d4b34d99"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:add8e169ab335825e0bb9879c7cbce54b"><td class="memItemLeft" align="right" valign="top">(void)&#160;</td><td class="memItemRight" valign="bottom">- <a class="el" href="interface_m_q_t_t_session.html#add8e169ab335825e0bb9879c7cbce54b">closeWithReturnCode:sessionExpiryInterval:reasonString:userProperty:disconnectHandler:</a></td></tr>
<tr class="separator:add8e169ab335825e0bb9879c7cbce54b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e08af5a1b20daabe6be9b9a0618c440"><td class="memItemLeft" align="right" valign="top">(void)&#160;</td><td class="memItemRight" valign="bottom">- <a class="el" href="interface_m_q_t_t_session.html#a6e08af5a1b20daabe6be9b9a0618c440">close</a></td></tr>
<tr class="separator:a6e08af5a1b20daabe6be9b9a0618c440"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="properties"></a>
Properties</h2></td></tr>
<tr class="memitem:a1a8eb040c4fd693c218999bae64d1281"><td class="memItemLeft" align="right" valign="top">id&lt; MQTTSessionDelegate &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_m_q_t_t_session.html#a1a8eb040c4fd693c218999bae64d1281">delegate</a></td></tr>
<tr class="separator:a1a8eb040c4fd693c218999bae64d1281"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae97bbef7489e0eb1f3bbbc93b02b6f41"><td class="memItemLeft" align="right" valign="top">id&lt; <a class="el" href="protocol_m_q_t_t_persistence-p.html">MQTTPersistence</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_m_q_t_t_session.html#ae97bbef7489e0eb1f3bbbc93b02b6f41">persistence</a></td></tr>
<tr class="separator:ae97bbef7489e0eb1f3bbbc93b02b6f41"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9c836110637be354f6acb52d328035e7"><td class="memItemLeft" align="right" valign="top">MQTTConnectHandler&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_m_q_t_t_session.html#a9c836110637be354f6acb52d328035e7">connectHandler</a></td></tr>
<tr class="separator:a9c836110637be354f6acb52d328035e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a96b070cb597ed0857fbf289579c10a58"><td class="memItemLeft" align="right" valign="top">void(^&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_m_q_t_t_session.html#a96b070cb597ed0857fbf289579c10a58">connectionHandler</a> )(MQTTSessionEvent event)</td></tr>
<tr class="separator:a96b070cb597ed0857fbf289579c10a58"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0af8d5512fae0ed59e572e9566ac9940"><td class="memItemLeft" align="right" valign="top">void(^&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_m_q_t_t_session.html#a0af8d5512fae0ed59e572e9566ac9940">messageHandler</a> )(NSData *message, NSString *topic)</td></tr>
<tr class="separator:a0af8d5512fae0ed59e572e9566ac9940"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adff1474fe186b8af3bb4cac1ccd4ff2d"><td class="memItemLeft" align="right" valign="top">MQTTSessionStatus&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_m_q_t_t_session.html#adff1474fe186b8af3bb4cac1ccd4ff2d">status</a></td></tr>
<tr class="separator:adff1474fe186b8af3bb4cac1ccd4ff2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad0712c44abf0f514feb9462779d3e2b8"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_m_q_t_t_session.html#ad0712c44abf0f514feb9462779d3e2b8">sessionPresent</a></td></tr>
<tr class="separator:ad0712c44abf0f514feb9462779d3e2b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a72a66b7bf08ab39c71369dc6debf5853"><td class="memItemLeft" align="right" valign="top">NSString *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_m_q_t_t_session.html#a72a66b7bf08ab39c71369dc6debf5853">host</a></td></tr>
<tr class="separator:a72a66b7bf08ab39c71369dc6debf5853"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a22334eec8bf0b3ba97e2391f70d43320"><td class="memItemLeft" align="right" valign="top">UInt32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_m_q_t_t_session.html#a22334eec8bf0b3ba97e2391f70d43320">port</a></td></tr>
<tr class="separator:a22334eec8bf0b3ba97e2391f70d43320"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa426b344bb913f5f338cacb1844dfb6a"><td class="memItemLeft" align="right" valign="top">NSString *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_m_q_t_t_session.html#aa426b344bb913f5f338cacb1844dfb6a">clientId</a></td></tr>
<tr class="separator:aa426b344bb913f5f338cacb1844dfb6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a23cc4596889bf5798bf3749ee0a9e61f"><td class="memItemLeft" align="right" valign="top">NSString *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_m_q_t_t_session.html#a23cc4596889bf5798bf3749ee0a9e61f">userName</a></td></tr>
<tr class="separator:a23cc4596889bf5798bf3749ee0a9e61f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c0d3fc1c8fbdcb39ba7c7cff8d43a5b"><td class="memItemLeft" align="right" valign="top">NSString *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_m_q_t_t_session.html#a5c0d3fc1c8fbdcb39ba7c7cff8d43a5b">password</a></td></tr>
<tr class="separator:a5c0d3fc1c8fbdcb39ba7c7cff8d43a5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa63e148680fef0724b66218d53caba6d"><td class="memItemLeft" align="right" valign="top">UInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_m_q_t_t_session.html#aa63e148680fef0724b66218d53caba6d">keepAliveInterval</a></td></tr>
<tr class="separator:aa63e148680fef0724b66218d53caba6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a423d97593b11b2aba0eabbc13ee29011"><td class="memItemLeft" align="right" valign="top">NSNumber *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_m_q_t_t_session.html#a423d97593b11b2aba0eabbc13ee29011">serverKeepAlive</a></td></tr>
<tr class="separator:a423d97593b11b2aba0eabbc13ee29011"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a18c68ee9ea84d8a008a3893aa8e95f03"><td class="memItemLeft" align="right" valign="top">UInt16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_m_q_t_t_session.html#a18c68ee9ea84d8a008a3893aa8e95f03">effectiveKeepAlive</a></td></tr>
<tr class="separator:a18c68ee9ea84d8a008a3893aa8e95f03"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a92914b34c08b83665b838ec9f75f983c"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_m_q_t_t_session.html#a92914b34c08b83665b838ec9f75f983c">dupTimeout</a></td></tr>
<tr class="separator:a92914b34c08b83665b838ec9f75f983c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8efd9a5bcf99786f2c78d4bc957fa4aa"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_m_q_t_t_session.html#a8efd9a5bcf99786f2c78d4bc957fa4aa">cleanSessionFlag</a></td></tr>
<tr class="separator:a8efd9a5bcf99786f2c78d4bc957fa4aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa3227d1cd407e13f1dd694cb352951d7"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_m_q_t_t_session.html#aa3227d1cd407e13f1dd694cb352951d7">willFlag</a></td></tr>
<tr class="separator:aa3227d1cd407e13f1dd694cb352951d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a20fd768170dd1d21800420f376d04042"><td class="memItemLeft" align="right" valign="top">NSString *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_m_q_t_t_session.html#a20fd768170dd1d21800420f376d04042">willTopic</a></td></tr>
<tr class="separator:a20fd768170dd1d21800420f376d04042"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10be0166d86c90591c40b79923eba9ba"><td class="memItemLeft" align="right" valign="top">NSData *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_m_q_t_t_session.html#a10be0166d86c90591c40b79923eba9ba">willMsg</a></td></tr>
<tr class="separator:a10be0166d86c90591c40b79923eba9ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af9cee4ec8306915190b101441f673a71"><td class="memItemLeft" align="right" valign="top">MQTTQosLevel&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_m_q_t_t_session.html#af9cee4ec8306915190b101441f673a71">willQoS</a></td></tr>
<tr class="separator:af9cee4ec8306915190b101441f673a71"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a54df13cee1ccaa0bf803304c33a3b237"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_m_q_t_t_session.html#a54df13cee1ccaa0bf803304c33a3b237">willRetainFlag</a></td></tr>
<tr class="separator:a54df13cee1ccaa0bf803304c33a3b237"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a12e20758c5f8a1f0f2bd7dac339fe88f"><td class="memItemLeft" align="right" valign="top">MQTTProtocolVersion&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_m_q_t_t_session.html#a12e20758c5f8a1f0f2bd7dac339fe88f">protocolLevel</a></td></tr>
<tr class="separator:a12e20758c5f8a1f0f2bd7dac339fe88f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a03173ce5c561ad884fd4c3c86b893f54"><td class="memItemLeft" align="right" valign="top">NSNumber *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_m_q_t_t_session.html#a03173ce5c561ad884fd4c3c86b893f54">sessionExpiryInterval</a></td></tr>
<tr class="separator:a03173ce5c561ad884fd4c3c86b893f54"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a66319af49757a922a90fe0ad96ab9fac"><td class="memItemLeft" align="right" valign="top">NSString *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_m_q_t_t_session.html#a66319af49757a922a90fe0ad96ab9fac">authMethod</a></td></tr>
<tr class="separator:a66319af49757a922a90fe0ad96ab9fac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a79dde69bcc1d7dbd56a30affeb994c20"><td class="memItemLeft" align="right" valign="top">NSData *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_m_q_t_t_session.html#a79dde69bcc1d7dbd56a30affeb994c20">authData</a></td></tr>
<tr class="separator:a79dde69bcc1d7dbd56a30affeb994c20"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad8d55fb716b76724ffa009197dcf85f0"><td class="memItemLeft" align="right" valign="top">NSNumber *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_m_q_t_t_session.html#ad8d55fb716b76724ffa009197dcf85f0">requestProblemInformation</a></td></tr>
<tr class="separator:ad8d55fb716b76724ffa009197dcf85f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad4fb8060a057777d053aec803097c10a"><td class="memItemLeft" align="right" valign="top">NSNumber *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_m_q_t_t_session.html#ad4fb8060a057777d053aec803097c10a">willDelayInterval</a></td></tr>
<tr class="separator:ad4fb8060a057777d053aec803097c10a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a590a46485d04ce0d94740fe9f2957627"><td class="memItemLeft" align="right" valign="top">NSNumber *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_m_q_t_t_session.html#a590a46485d04ce0d94740fe9f2957627">requestResponseInformation</a></td></tr>
<tr class="separator:a590a46485d04ce0d94740fe9f2957627"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b44b48ef732f87b41c5f9e7082ccc7a"><td class="memItemLeft" align="right" valign="top">NSNumber *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_m_q_t_t_session.html#a7b44b48ef732f87b41c5f9e7082ccc7a">receiveMaximum</a></td></tr>
<tr class="separator:a7b44b48ef732f87b41c5f9e7082ccc7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4cd7f476fc8c6e86927afa8fad70b820"><td class="memItemLeft" align="right" valign="top">NSNumber *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_m_q_t_t_session.html#a4cd7f476fc8c6e86927afa8fad70b820">topicAliasMaximum</a></td></tr>
<tr class="separator:a4cd7f476fc8c6e86927afa8fad70b820"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9f5d1f4c1ced1fd857b60e1f6888f42"><td class="memItemLeft" align="right" valign="top">NSDictionary&lt; NSString *, NSString * &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_m_q_t_t_session.html#aa9f5d1f4c1ced1fd857b60e1f6888f42">userProperty</a></td></tr>
<tr class="separator:aa9f5d1f4c1ced1fd857b60e1f6888f42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f760a87b7c349e612e103f0147b516b"><td class="memItemLeft" align="right" valign="top">NSNumber *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_m_q_t_t_session.html#a5f760a87b7c349e612e103f0147b516b">maximumPacketSize</a></td></tr>
<tr class="separator:a5f760a87b7c349e612e103f0147b516b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a49e106f38faead00b6d9d53a77a50472"><td class="memItemLeft" align="right" valign="top">NSRunLoop *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_m_q_t_t_session.html#a49e106f38faead00b6d9d53a77a50472">runLoop</a></td></tr>
<tr class="separator:a49e106f38faead00b6d9d53a77a50472"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ab2f0926aa51b0dc7969c66bae215e4"><td class="memItemLeft" align="right" valign="top">NSString *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_m_q_t_t_session.html#a3ab2f0926aa51b0dc7969c66bae215e4">runLoopMode</a></td></tr>
<tr class="separator:a3ab2f0926aa51b0dc7969c66bae215e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a44f63ba3383e0e5c5bed5e051cad9d2f"><td class="memItemLeft" align="right" valign="top">MQTTMessage *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_m_q_t_t_session.html#a44f63ba3383e0e5c5bed5e051cad9d2f">connectMessage</a></td></tr>
<tr class="separator:a44f63ba3383e0e5c5bed5e051cad9d2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab3839efa8f1e67c2a1270a0bfa7362c1"><td class="memItemLeft" align="right" valign="top">id&lt; <a class="el" href="interface_m_q_t_t_transport.html">MQTTTransport</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_m_q_t_t_session.html#ab3839efa8f1e67c2a1270a0bfa7362c1">transport</a></td></tr>
<tr class="separator:ab3839efa8f1e67c2a1270a0bfa7362c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8093f2231e12c54af5eb1791cc60b06f"><td class="memItemLeft" align="right" valign="top">NSArray *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_m_q_t_t_session.html#a8093f2231e12c54af5eb1791cc60b06f">certificates</a></td></tr>
<tr class="separator:a8093f2231e12c54af5eb1791cc60b06f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a289e2046978f865a280c61725df526c1"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_m_q_t_t_session.html#a289e2046978f865a280c61725df526c1">voip</a></td></tr>
<tr class="separator:a289e2046978f865a280c61725df526c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Session implements the MQTT protocol for your application </p>
</div><h2 class="groupheader">Method Documentation</h2>
<a id="a6e08af5a1b20daabe6be9b9a0618c440"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6e08af5a1b20daabe6be9b9a0618c440">&#9670;&nbsp;</a></span>close()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">- (void) close </td>
          <td></td>
          <td class="paramname"></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>closes an <a class="el" href="interface_m_q_t_t_session.html">MQTTSession</a> gracefully </p>

</div>
</div>
<a id="a5a617d3cee077dd60f48a340d4b34d99"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5a617d3cee077dd60f48a340d4b34d99">&#9670;&nbsp;</a></span>closeWithDisconnectHandler:()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">- (void) closeWithDisconnectHandler: </td>
          <td></td>
          <td class="paramtype">(MQTTDisconnectHandler)&#160;</td>
          <td class="paramname"><em>disconnectHandler</em></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>closes an <a class="el" href="interface_m_q_t_t_session.html">MQTTSession</a> gracefully</p>
<p>If the connection was successfully established before, a DISCONNECT is sent.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">disconnectHandler</td><td>identifies a block which is executed on successfull or unsuccessfull disconnect. Might be nil. error is nil in the case of a successful disconnect</td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><span class="preprocessor">#import &quot;MQTTClient.h&quot;</span></div><div class="line"></div><div class="line"><a class="code" href="interface_m_q_t_t_session.html">MQTTSession</a> *session = [[<a class="code" href="interface_m_q_t_t_session.html">MQTTSession</a> alloc] <a class="code" href="interface_m_q_t_t_session.html#aee55d52a9b6395f1a0d73b672900629c">init</a>];</div><div class="line">...</div><div class="line">[session <a class="code" href="interface_m_q_t_t_session.html#ad443eb80793d71150a825513303405b5">connect</a>];</div><div class="line"></div><div class="line">...</div><div class="line"></div><div class="line">[session closeWithDisconnectHandler^(NSError *error) {</div><div class="line">   <span class="keywordflow">if</span> (error) {</div><div class="line">       NSLog(<span class="stringliteral">@&quot;Error Disconnect %@&quot;</span>, error.localizedDescription);</div><div class="line">   }</div><div class="line">   NSLog(<span class="stringliteral">@&quot;Session closed&quot;</span>);</div><div class="line">}];</div></div><!-- fragment --> 
</div>
</div>
<a id="add8e169ab335825e0bb9879c7cbce54b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#add8e169ab335825e0bb9879c7cbce54b">&#9670;&nbsp;</a></span>closeWithReturnCode:sessionExpiryInterval:reasonString:userProperty:disconnectHandler:()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">- (void) closeWithReturnCode: </td>
          <td></td>
          <td class="paramtype">(MQTTReturnCode)&#160;</td>
          <td class="paramname"><em>returnCode</em></td>
        </tr>
        <tr>
          <td class="paramkey">sessionExpiryInterval:</td>
          <td></td>
          <td class="paramtype">(NSNumber *)&#160;</td>
          <td class="paramname"><em>sessionExpiryInterval</em></td>
        </tr>
        <tr>
          <td class="paramkey">reasonString:</td>
          <td></td>
          <td class="paramtype">(NSString *)&#160;</td>
          <td class="paramname"><em>reasonString</em></td>
        </tr>
        <tr>
          <td class="paramkey">userProperty:</td>
          <td></td>
          <td class="paramtype">(NSDictionary&lt; NSString *, NSString * &gt; *)&#160;</td>
          <td class="paramname"><em>userProperty</em></td>
        </tr>
        <tr>
          <td class="paramkey">disconnectHandler:</td>
          <td></td>
          <td class="paramtype">(MQTTDisconnectHandler)&#160;</td>
          <td class="paramname"><em>disconnectHandler</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>close V5 </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">returnCode</td><td>the returncode send to the broker </td></tr>
    <tr><td class="paramname">sessionExpiryInterval</td><td>the time in seconds before the session can be deleted </td></tr>
    <tr><td class="paramname">reasonString</td><td>a string explaining the reason </td></tr>
    <tr><td class="paramname">userProperty</td><td>additional dictionary of user key/value combinations </td></tr>
    <tr><td class="paramname">disconnectHandler</td><td>will be called when the disconnect finished </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ad443eb80793d71150a825513303405b5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad443eb80793d71150a825513303405b5">&#9670;&nbsp;</a></span>connect()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">- (void) connect </td>
          <td></td>
          <td class="paramname"></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>connect to the given host through the given transport with the given MQTT session parameters asynchronously </p>

</div>
</div>
<a id="af2fb37adbbf9eeb28cea7dab43297fd7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af2fb37adbbf9eeb28cea7dab43297fd7">&#9670;&nbsp;</a></span>connectWithConnectHandler:()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">- (void) connectWithConnectHandler: </td>
          <td></td>
          <td class="paramtype">(MQTTConnectHandler)&#160;</td>
          <td class="paramname"><em>connectHandler</em></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>connects to the specified MQTT server</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">connectHandler</td><td>identifies a block which is executed on successfull or unsuccessfull connect. Might be nil error is nil in the case of a successful connect sessionPresent indicates in MQTT 3.1.1 if persistent session data was present at the server returns nothing and returns immediately. To check the connect results, register as an <a class="el" href="class_m_q_t_t_session_delegate-p.html">MQTTSessionDelegate</a> and<ul>
<li>watch for events</li>
<li>watch for connect or connectionRefused messages</li>
<li>watch for error messages or use the connectHandler block</li>
</ul>
</td></tr>
  </table>
  </dd>
</dl>
<div class="fragment"><div class="line"><span class="preprocessor">#import &quot;MQTTClient.h&quot;</span></div><div class="line"></div><div class="line"><a class="code" href="interface_m_q_t_t_session.html">MQTTSession</a> *session = [[<a class="code" href="interface_m_q_t_t_session.html">MQTTSession</a> alloc] <a class="code" href="interface_m_q_t_t_session.html#aee55d52a9b6395f1a0d73b672900629c">init</a>];</div><div class="line">...</div><div class="line">[session connectWithConnectHandler:^(NSError *error, BOOL <a class="code" href="interface_m_q_t_t_session.html#ad0712c44abf0f514feb9462779d3e2b8">sessionPresent</a>) {</div><div class="line"><span class="keywordflow">if</span> (error) {</div><div class="line">NSLog(<span class="stringliteral">@&quot;Error Connect %@&quot;</span>, error.localizedDescription);</div><div class="line">} <span class="keywordflow">else</span> {</div><div class="line">NSLog(<span class="stringliteral">@&quot;Connected sessionPresent:%d&quot;</span>, <a class="code" href="interface_m_q_t_t_session.html#ad0712c44abf0f514feb9462779d3e2b8">sessionPresent</a>);</div><div class="line">}</div><div class="line">}];</div></div><!-- fragment --> 
</div>
</div>
<a id="aef2d0980b561184800908e95dd3a9fc7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aef2d0980b561184800908e95dd3a9fc7">&#9670;&nbsp;</a></span>disconnect()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">- (void) disconnect </td>
          <td></td>
          <td class="paramname"></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>disconnect gracefully </p>

</div>
</div>
<a id="a693cd5762ad92a97971ba95b7e0235c3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a693cd5762ad92a97971ba95b7e0235c3">&#9670;&nbsp;</a></span>disconnectWithReturnCode:sessionExpiryInterval:reasonString:userProperty:()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">- (void) disconnectWithReturnCode: </td>
          <td></td>
          <td class="paramtype">(MQTTReturnCode)&#160;</td>
          <td class="paramname"><em>returnCode</em></td>
        </tr>
        <tr>
          <td class="paramkey">sessionExpiryInterval:</td>
          <td></td>
          <td class="paramtype">(NSNumber *)&#160;</td>
          <td class="paramname"><em>sessionExpiryInterval</em></td>
        </tr>
        <tr>
          <td class="paramkey">reasonString:</td>
          <td></td>
          <td class="paramtype">(NSString *)&#160;</td>
          <td class="paramname"><em>reasonString</em></td>
        </tr>
        <tr>
          <td class="paramkey">userProperty:</td>
          <td></td>
          <td class="paramtype">(NSDictionary&lt; NSString *, NSString * &gt; *)&#160;</td>
          <td class="paramname"><em>userProperty</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>disconnect V5 </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">returnCode</td><td>the returncode send to the broker </td></tr>
    <tr><td class="paramname">sessionExpiryInterval</td><td>the time in seconds before the session can be deleted </td></tr>
    <tr><td class="paramname">reasonString</td><td>a string explaining the reason </td></tr>
    <tr><td class="paramname">userProperty</td><td>additional dictionary of user key/value combinations </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="aee55d52a9b6395f1a0d73b672900629c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aee55d52a9b6395f1a0d73b672900629c">&#9670;&nbsp;</a></span>init()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">- (<a class="el" href="interface_m_q_t_t_session.html">MQTTSession</a> *) init </td>
          <td></td>
          <td class="paramname"></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>initialises the MQTT session with default values </p><dl class="section return"><dt>Returns</dt><dd>the initialised <a class="el" href="interface_m_q_t_t_session.html">MQTTSession</a> object <div class="fragment"><div class="line"><span class="preprocessor">#import &quot;MQTTClient.h&quot;</span></div><div class="line"></div><div class="line"><a class="code" href="interface_m_q_t_t_session.html">MQTTSession</a> *session = [[<a class="code" href="interface_m_q_t_t_session.html">MQTTSession</a> alloc] <a class="code" href="interface_m_q_t_t_session.html#aee55d52a9b6395f1a0d73b672900629c">init</a>];</div></div><!-- fragment --> </dd></dl>

</div>
</div>
<a id="a7551772841b6bc2f46c0848d323fd0f7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7551772841b6bc2f46c0848d323fd0f7">&#9670;&nbsp;</a></span>publishData:onTopic:retain:qos:()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">- (UInt16) publishData: </td>
          <td></td>
          <td class="paramtype">(NSData *)&#160;</td>
          <td class="paramname"><em>data</em></td>
        </tr>
        <tr>
          <td class="paramkey">onTopic:</td>
          <td></td>
          <td class="paramtype">(NSString *)&#160;</td>
          <td class="paramname"><em>topic</em></td>
        </tr>
        <tr>
          <td class="paramkey">retain:</td>
          <td></td>
          <td class="paramtype">(BOOL)&#160;</td>
          <td class="paramname"><em>retainFlag</em></td>
        </tr>
        <tr>
          <td class="paramkey">qos:</td>
          <td></td>
          <td class="paramtype">(MQTTQosLevel)&#160;</td>
          <td class="paramname"><em>qos</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>publishes data on a given topic at a specified QoS level and retain flag</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">data</td><td>the data to be sent. length may range from 0 to 268,435,455 - 4 - <em>lengthof-topic</em> bytes. Defaults to length 0. </td></tr>
    <tr><td class="paramname">topic</td><td>the Topic to identify the data </td></tr>
    <tr><td class="paramname">retainFlag</td><td>if YES, data is stored on the MQTT broker until overwritten by the next publish with retainFlag = YES </td></tr>
    <tr><td class="paramname">qos</td><td>specifies the Quality of Service for the publish qos can be 0, 1, or 2. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the Message Identifier of the PUBLISH message. Zero if qos 0. If qos 1 or 2, zero if message was dropped</dd></dl>
<dl class="section note"><dt>Note</dt><dd>returns immediately. To check results, register as an <a class="el" href="class_m_q_t_t_session_delegate-p.html">MQTTSessionDelegate</a> and watch for events.</dd></dl>
<div class="fragment"><div class="line"><span class="preprocessor">#import &quot;MQTTClient.h&quot;</span></div><div class="line"></div><div class="line"><a class="code" href="interface_m_q_t_t_session.html">MQTTSession</a> *session = [[<a class="code" href="interface_m_q_t_t_session.html">MQTTSession</a> alloc] <a class="code" href="interface_m_q_t_t_session.html#aee55d52a9b6395f1a0d73b672900629c">init</a>];</div><div class="line">...</div><div class="line">[session <a class="code" href="interface_m_q_t_t_session.html#ad443eb80793d71150a825513303405b5">connect</a>];</div><div class="line"></div><div class="line">[session publishData:[<span class="stringliteral">@&quot;Sample Data&quot;</span> dataUsingEncoding:NSUTF8StringEncoding]</div><div class="line">topic:<span class="stringliteral">@&quot;example/data&quot;</span></div><div class="line">retain:YES</div><div class="line">qos:1];</div></div><!-- fragment --> 
</div>
</div>
<a id="a7cea798eb2e74c5885fa60dee04539f0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7cea798eb2e74c5885fa60dee04539f0">&#9670;&nbsp;</a></span>publishData:onTopic:retain:qos:publishHandler:()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">- (UInt16) publishData: </td>
          <td></td>
          <td class="paramtype">(NSData *)&#160;</td>
          <td class="paramname"><em>data</em></td>
        </tr>
        <tr>
          <td class="paramkey">onTopic:</td>
          <td></td>
          <td class="paramtype">(NSString *)&#160;</td>
          <td class="paramname"><em>topic</em></td>
        </tr>
        <tr>
          <td class="paramkey">retain:</td>
          <td></td>
          <td class="paramtype">(BOOL)&#160;</td>
          <td class="paramname"><em>retainFlag</em></td>
        </tr>
        <tr>
          <td class="paramkey">qos:</td>
          <td></td>
          <td class="paramtype">(MQTTQosLevel)&#160;</td>
          <td class="paramname"><em>qos</em></td>
        </tr>
        <tr>
          <td class="paramkey">publishHandler:</td>
          <td></td>
          <td class="paramtype">(MQTTPublishHandler)&#160;</td>
          <td class="paramname"><em>publishHandler</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>publishes data on a given topic at a specified QoS level and retain flag</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">data</td><td>the data to be sent. length may range from 0 to 268,435,455 - 4 - <em>lengthof-topic</em> bytes. Defaults to length 0. </td></tr>
    <tr><td class="paramname">topic</td><td>the Topic to identify the data </td></tr>
    <tr><td class="paramname">retainFlag</td><td>if YES, data is stored on the MQTT broker until overwritten by the next publish with retainFlag = YES </td></tr>
    <tr><td class="paramname">qos</td><td>specifies the Quality of Service for the publish qos can be 0, 1, or 2.</td></tr>
    <tr><td class="paramname">publishHandler</td><td>identifies a block which is executed on successfull or unsuccessfull publsh. Might be nil error is nil in the case of a successful connect sessionPresent indicates in MQTT 3.1.1 if persistent session data was present at the server</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the Message Identifier of the PUBLISH message. Zero if qos 0. If qos 1 or 2, zero if message was dropped</dd></dl>
<dl class="section note"><dt>Note</dt><dd>returns immediately. To check results, register as an <a class="el" href="class_m_q_t_t_session_delegate-p.html">MQTTSessionDelegate</a> and watch for events.</dd></dl>
<div class="fragment"><div class="line"><span class="preprocessor">#import &quot;MQTTClient.h&quot;</span></div><div class="line"></div><div class="line"><a class="code" href="interface_m_q_t_t_session.html">MQTTSession</a> *session = [[<a class="code" href="interface_m_q_t_t_session.html">MQTTSession</a> alloc] <a class="code" href="interface_m_q_t_t_session.html#aee55d52a9b6395f1a0d73b672900629c">init</a>];</div><div class="line">...</div><div class="line">[session <a class="code" href="interface_m_q_t_t_session.html#ad443eb80793d71150a825513303405b5">connect</a>];</div><div class="line"></div><div class="line">[session publishData:[<span class="stringliteral">@&quot;Sample Data&quot;</span> dataUsingEncoding:NSUTF8StringEncoding]</div><div class="line">topic:<span class="stringliteral">@&quot;example/data&quot;</span></div><div class="line">retain:YES</div><div class="line">qos:1</div><div class="line">publishHandler:^(NSError *error){</div><div class="line"><span class="keywordflow">if</span> (error) {</div><div class="line">DDLogVerbose(<span class="stringliteral">@&quot;error: %@ %@&quot;</span>, error.localizedDescription, payload);</div><div class="line">} <span class="keywordflow">else</span> {</div><div class="line">DDLogVerbose(<span class="stringliteral">@&quot;delivered:%@&quot;</span>, payload);</div><div class="line">delivered++;</div><div class="line">}</div><div class="line">}];</div></div><!-- fragment --> 
</div>
</div>
<a id="aafb7270fc99918effc0a39064ee5f91e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aafb7270fc99918effc0a39064ee5f91e">&#9670;&nbsp;</a></span>subscribeToTopic:atLevel:()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">- (UInt16) subscribeToTopic: </td>
          <td></td>
          <td class="paramtype">(NSString *)&#160;</td>
          <td class="paramname"><em>topic</em></td>
        </tr>
        <tr>
          <td class="paramkey">atLevel:</td>
          <td></td>
          <td class="paramtype">(MQTTQosLevel)&#160;</td>
          <td class="paramname"><em>qosLevel</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>subscribes to a topic at a specific QoS level</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">topic</td><td>see subscribeToTopic:atLevel:subscribeHandler: for description </td></tr>
    <tr><td class="paramname">qosLevel</td><td>see subscribeToTopic:atLevel:subscribeHandler: for description </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the Message Identifier of the SUBSCRIBE message.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>returns immediately. To check results, register as an <a class="el" href="class_m_q_t_t_session_delegate-p.html">MQTTSessionDelegate</a> and watch for events.</dd></dl>
<div class="fragment"><div class="line"><span class="preprocessor">#import &quot;MQTTClient.h&quot;</span></div><div class="line"></div><div class="line"><a class="code" href="interface_m_q_t_t_session.html">MQTTSession</a> *session = [[<a class="code" href="interface_m_q_t_t_session.html">MQTTSession</a> alloc] <a class="code" href="interface_m_q_t_t_session.html#aee55d52a9b6395f1a0d73b672900629c">init</a>];</div><div class="line">...</div><div class="line">[session <a class="code" href="interface_m_q_t_t_session.html#ad443eb80793d71150a825513303405b5">connect</a>];</div><div class="line">...</div><div class="line">[session subscribeToTopic:<span class="stringliteral">@&quot;example/#&quot;</span> atLevel:2];</div></div><!-- fragment --> 
</div>
</div>
<a id="adaefcb4ee5a31355846653eddffc494f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adaefcb4ee5a31355846653eddffc494f">&#9670;&nbsp;</a></span>subscribeToTopic:atLevel:subscribeHandler:()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">- (UInt16) subscribeToTopic: </td>
          <td></td>
          <td class="paramtype">(NSString *)&#160;</td>
          <td class="paramname"><em>topic</em></td>
        </tr>
        <tr>
          <td class="paramkey">atLevel:</td>
          <td></td>
          <td class="paramtype">(MQTTQosLevel)&#160;</td>
          <td class="paramname"><em>qosLevel</em></td>
        </tr>
        <tr>
          <td class="paramkey">subscribeHandler:</td>
          <td></td>
          <td class="paramtype">(MQTTSubscribeHandler)&#160;</td>
          <td class="paramname"><em>subscribeHandler</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>subscribes to a topic at a specific QoS level</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">topic</td><td>the Topic Filter to subscribe to.</td></tr>
    <tr><td class="paramname">qosLevel</td><td>specifies the QoS Level of the subscription. qosLevel can be 0, 1, or 2. </td></tr>
    <tr><td class="paramname">subscribeHandler</td><td>identifies a block which is executed on successfull or unsuccessfull subscription. Might be nil. error is nil in the case of a successful subscription. In this case gQoss represents an array of grantes Qos</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the Message Identifier of the SUBSCRIBE message.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>returns immediately. To check results, register as an <a class="el" href="class_m_q_t_t_session_delegate-p.html">MQTTSessionDelegate</a> and watch for events.</dd></dl>
<div class="fragment"><div class="line"><span class="preprocessor">#import &quot;MQTTClient.h&quot;</span></div><div class="line"></div><div class="line"><a class="code" href="interface_m_q_t_t_session.html">MQTTSession</a> *session = [[<a class="code" href="interface_m_q_t_t_session.html">MQTTSession</a> alloc] <a class="code" href="interface_m_q_t_t_session.html#aee55d52a9b6395f1a0d73b672900629c">init</a>];</div><div class="line">...</div><div class="line">[session <a class="code" href="interface_m_q_t_t_session.html#ad443eb80793d71150a825513303405b5">connect</a>];</div><div class="line">...</div><div class="line">[session subscribeToTopic:<span class="stringliteral">@&quot;example/#&quot;</span> atLevel:2 subscribeHandler:^(NSError *error, NSArray&lt;NSNumber *&gt; *gQoss){</div><div class="line">   <span class="keywordflow">if</span> (error) {</div><div class="line">       NSLog(<span class="stringliteral">@&quot;Subscription failed %@&quot;</span>, error.localizedDescription);</div><div class="line">   } <span class="keywordflow">else</span> {</div><div class="line">       NSLog(<span class="stringliteral">@&quot;Subscription sucessfull! Granted Qos: %@&quot;</span>, gQoss);</div><div class="line">   }</div><div class="line">}];</div></div><!-- fragment --> 
</div>
</div>
<a id="ad90eef680e3adc29a75556e4131bdbf6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad90eef680e3adc29a75556e4131bdbf6">&#9670;&nbsp;</a></span>subscribeToTopics:()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">- (UInt16) subscribeToTopics: </td>
          <td></td>
          <td class="paramtype">(NSDictionary&lt; NSString *, NSNumber * &gt; *)&#160;</td>
          <td class="paramname"><em>topics</em></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>subscribes a number of topics</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">topics</td><td>an NSDictionary&lt;NSString *, NSNumber *&gt; containing the Topic Filters to subscribe to as keys and the corresponding QoS as NSNumber values</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the Message Identifier of the SUBSCRIBE message.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>returns immediately. To check results, register as an <a class="el" href="class_m_q_t_t_session_delegate-p.html">MQTTSessionDelegate</a> and watch for events.</dd></dl>
<div class="fragment"><div class="line"><span class="preprocessor">#import &quot;MQTTClient.h&quot;</span></div><div class="line"></div><div class="line"><a class="code" href="interface_m_q_t_t_session.html">MQTTSession</a> *session = [[<a class="code" href="interface_m_q_t_t_session.html">MQTTSession</a> alloc] <a class="code" href="interface_m_q_t_t_session.html#aee55d52a9b6395f1a0d73b672900629c">init</a>];</div><div class="line">...</div><div class="line">[session <a class="code" href="interface_m_q_t_t_session.html#ad443eb80793d71150a825513303405b5">connect</a>];</div><div class="line"></div><div class="line">[session subscribeToTopics:@{</div><div class="line"><span class="stringliteral">@&quot;example/#&quot;</span>: @(0),</div><div class="line"><span class="stringliteral">@&quot;example/status&quot;</span>: @(2),</div><div class="line"><span class="stringliteral">@&quot;other/#&quot;</span>: @(1)</div><div class="line">}];</div></div><!-- fragment --> 
</div>
</div>
<a id="a26abfdc1d64491bff4825727042e3342"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a26abfdc1d64491bff4825727042e3342">&#9670;&nbsp;</a></span>subscribeToTopics:subscribeHandler:()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">- (UInt16) <a class="el" href="interface_m_q_t_t_session.html#ad90eef680e3adc29a75556e4131bdbf6">subscribeToTopics:</a> </td>
          <td></td>
          <td class="paramtype">(NSDictionary&lt; NSString *, NSNumber * &gt; *)&#160;</td>
          <td class="paramname"><em>topics</em></td>
        </tr>
        <tr>
          <td class="paramkey">subscribeHandler:</td>
          <td></td>
          <td class="paramtype">(MQTTSubscribeHandler)&#160;</td>
          <td class="paramname"><em>subscribeHandler</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>subscribes a number of topics</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">topics</td><td>an NSDictionary&lt;NSString *, NSNumber *&gt; containing the Topic Filters to subscribe to as keys and the corresponding QoS as NSNumber values </td></tr>
    <tr><td class="paramname">subscribeHandler</td><td>identifies a block which is executed on successfull or unsuccessfull subscription. Might be nil. error is nil in the case of a successful subscription. In this case gQoss represents an array of grantes Qos</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the Message Identifier of the SUBSCRIBE message.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>returns immediately. To check results, register as an <a class="el" href="class_m_q_t_t_session_delegate-p.html">MQTTSessionDelegate</a> and watch for events.</dd></dl>
<div class="fragment"><div class="line"><span class="preprocessor">#import &quot;MQTTClient.h&quot;</span></div><div class="line"></div><div class="line"><a class="code" href="interface_m_q_t_t_session.html">MQTTSession</a> *session = [[<a class="code" href="interface_m_q_t_t_session.html">MQTTSession</a> alloc] <a class="code" href="interface_m_q_t_t_session.html#aee55d52a9b6395f1a0d73b672900629c">init</a>];</div><div class="line">...</div><div class="line">[session <a class="code" href="interface_m_q_t_t_session.html#ad443eb80793d71150a825513303405b5">connect</a>];</div><div class="line"></div><div class="line">[session subscribeToTopics:@{</div><div class="line">   <span class="stringliteral">@&quot;example/#&quot;</span>: @(0),</div><div class="line">   <span class="stringliteral">@&quot;example/status&quot;</span>: @(2),</div><div class="line">   <span class="stringliteral">@&quot;other/#&quot;</span>: @(1)</div><div class="line">} subscribeHandler:^(NSError *error, NSArray&lt;NSNumber *&gt; *gQoss){</div><div class="line">   <span class="keywordflow">if</span> (error) {</div><div class="line">       NSLog(<span class="stringliteral">@&quot;Subscription failed %@&quot;</span>, error.localizedDescription);</div><div class="line">   } <span class="keywordflow">else</span> {</div><div class="line">       NSLog(<span class="stringliteral">@&quot;Subscription sucessfull! Granted Qos: %@&quot;</span>, gQoss);</div><div class="line">   }</div><div class="line">}];</div></div><!-- fragment --> 
</div>
</div>
<a id="a0b9b75a7232586150cbc348b1262faaf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0b9b75a7232586150cbc348b1262faaf">&#9670;&nbsp;</a></span>unsubscribeTopic:()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">- (UInt16) unsubscribeTopic: </td>
          <td></td>
          <td class="paramtype">(NSString *)&#160;</td>
          <td class="paramname"><em>topic</em></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>unsubscribes from a topic</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">topic</td><td>the Topic Filter to unsubscribe from.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the Message Identifier of the UNSUBSCRIBE message.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>returns immediately. To check results, register as an <a class="el" href="class_m_q_t_t_session_delegate-p.html">MQTTSessionDelegate</a> and watch for events.</dd></dl>
<div class="fragment"><div class="line"><span class="preprocessor">#import &quot;MQTTClient.h&quot;</span></div><div class="line"></div><div class="line"><a class="code" href="interface_m_q_t_t_session.html">MQTTSession</a> *session = [[<a class="code" href="interface_m_q_t_t_session.html">MQTTSession</a> alloc] <a class="code" href="interface_m_q_t_t_session.html#aee55d52a9b6395f1a0d73b672900629c">init</a>];</div><div class="line">...</div><div class="line">[session <a class="code" href="interface_m_q_t_t_session.html#ad443eb80793d71150a825513303405b5">connect</a>];</div><div class="line"></div><div class="line">[session unsubscribeTopic:<span class="stringliteral">@&quot;example/#&quot;</span>];</div></div><!-- fragment --> 
</div>
</div>
<a id="a49e7dde1369377da92ae0f7fc2eb187f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a49e7dde1369377da92ae0f7fc2eb187f">&#9670;&nbsp;</a></span>unsubscribeTopic:unsubscribeHandler:()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">- (UInt16) <a class="el" href="interface_m_q_t_t_session.html#a0b9b75a7232586150cbc348b1262faaf">unsubscribeTopic:</a> </td>
          <td></td>
          <td class="paramtype">(NSString *)&#160;</td>
          <td class="paramname"><em>topic</em></td>
        </tr>
        <tr>
          <td class="paramkey">unsubscribeHandler:</td>
          <td></td>
          <td class="paramtype">(MQTTUnsubscribeHandler)&#160;</td>
          <td class="paramname"><em>unsubscribeHandler</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>unsubscribes from a topic</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">topic</td><td>the Topic Filter to unsubscribe from. </td></tr>
    <tr><td class="paramname">unsubscribeHandler</td><td>identifies a block which is executed on successfull or unsuccessfull subscription. Might be nil. error is nil in the case of a successful subscription. In this case gQoss represents an array of grantes Qos</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the Message Identifier of the UNSUBSCRIBE message.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>returns immediately. </dd></dl>

</div>
</div>
<a id="ac93b09cbe98c4b8754180e344ef7e908"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac93b09cbe98c4b8754180e344ef7e908">&#9670;&nbsp;</a></span>unsubscribeTopics:()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">- (UInt16) unsubscribeTopics: </td>
          <td></td>
          <td class="paramtype">(NSArray&lt; NSString * &gt; *)&#160;</td>
          <td class="paramname"><em>topics</em></td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>unsubscribes from a number of topics</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">topics</td><td>an NSArray&lt;NSString *&gt; of topics to unsubscribe from</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the Message Identifier of the UNSUBSCRIBE message.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>returns immediately. To check results, register as an <a class="el" href="class_m_q_t_t_session_delegate-p.html">MQTTSessionDelegate</a> and watch for events.</dd></dl>
<div class="fragment"><div class="line"><span class="preprocessor">#import &quot;MQTTClient.h&quot;</span></div><div class="line"></div><div class="line"><a class="code" href="interface_m_q_t_t_session.html">MQTTSession</a> *session = [[<a class="code" href="interface_m_q_t_t_session.html">MQTTSession</a> alloc] <a class="code" href="interface_m_q_t_t_session.html#aee55d52a9b6395f1a0d73b672900629c">init</a>];</div><div class="line">...</div><div class="line">[session <a class="code" href="interface_m_q_t_t_session.html#ad443eb80793d71150a825513303405b5">connect</a>];</div><div class="line"></div><div class="line">[session unsubscribeTopics:@[</div><div class="line"><span class="stringliteral">@&quot;example/#&quot;</span>,</div><div class="line"><span class="stringliteral">@&quot;example/status&quot;</span>,</div><div class="line"><span class="stringliteral">@&quot;other/#&quot;</span></div><div class="line">]];</div></div><!-- fragment --> 
</div>
</div>
<a id="a1d566cac765cdcdb2563ffa45ef53bbe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1d566cac765cdcdb2563ffa45ef53bbe">&#9670;&nbsp;</a></span>unsubscribeTopics:unsubscribeHandler:()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">- (UInt16) <a class="el" href="interface_m_q_t_t_session.html#ac93b09cbe98c4b8754180e344ef7e908">unsubscribeTopics:</a> </td>
          <td></td>
          <td class="paramtype">(NSArray&lt; NSString * &gt; *)&#160;</td>
          <td class="paramname"><em>topics</em></td>
        </tr>
        <tr>
          <td class="paramkey">unsubscribeHandler:</td>
          <td></td>
          <td class="paramtype">(MQTTUnsubscribeHandler)&#160;</td>
          <td class="paramname"><em>unsubscribeHandler</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>unsubscribes from a number of topics</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">topics</td><td>an NSArray&lt;NSString *&gt; of topics to unsubscribe from</td></tr>
    <tr><td class="paramname">unsubscribeHandler</td><td>identifies a block which is executed on successfull or unsuccessfull subscription. Might be nil. error is nil in the case of a successful subscription. In this case gQoss represents an array of grantes Qos</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the Message Identifier of the UNSUBSCRIBE message.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>returns immediately. </dd></dl>

</div>
</div>
<h2 class="groupheader">Property Documentation</h2>
<a id="a79dde69bcc1d7dbd56a30affeb994c20"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a79dde69bcc1d7dbd56a30affeb994c20">&#9670;&nbsp;</a></span>authData</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">- (NSData*) authData</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">read</span><span class="mlabel">write</span><span class="mlabel">nonatomic</span><span class="mlabel">strong</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>authData specifies the number of seconds after which a session should expire MQTT v5.0 </p>

</div>
</div>
<a id="a66319af49757a922a90fe0ad96ab9fac"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a66319af49757a922a90fe0ad96ab9fac">&#9670;&nbsp;</a></span>authMethod</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">- (NSString*) authMethod</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">read</span><span class="mlabel">write</span><span class="mlabel">nonatomic</span><span class="mlabel">strong</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>authMethod specifies the number of seconds after which a session should expire MQTT v5.0 </p>

</div>
</div>
<a id="a8093f2231e12c54af5eb1791cc60b06f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8093f2231e12c54af5eb1791cc60b06f">&#9670;&nbsp;</a></span>certificates</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">- (NSArray*) certificates</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">read</span><span class="mlabel">write</span><span class="mlabel">nonatomic</span><span class="mlabel">strong</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>certificates an NSArray holding client certificates or nil </p>

</div>
</div>
<a id="a8efd9a5bcf99786f2c78d4bc957fa4aa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8efd9a5bcf99786f2c78d4bc957fa4aa">&#9670;&nbsp;</a></span>cleanSessionFlag</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">- (BOOL) cleanSessionFlag</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">read</span><span class="mlabel">write</span><span class="mlabel">nonatomic</span><span class="mlabel">assign</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>leanSessionFlag specifies if the server should discard previous session information. </p>

</div>
</div>
<a id="aa426b344bb913f5f338cacb1844dfb6a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa426b344bb913f5f338cacb1844dfb6a">&#9670;&nbsp;</a></span>clientId</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">- (NSString*) clientId</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">read</span><span class="mlabel">write</span><span class="mlabel">nonatomic</span><span class="mlabel">strong</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>The Client Identifier identifies the Client to the Server. If nil, a random clientId is generated. </p>

</div>
</div>
<a id="a9c836110637be354f6acb52d328035e7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9c836110637be354f6acb52d328035e7">&#9670;&nbsp;</a></span>connectHandler</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">- (MQTTConnectHandler) connectHandler</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">read</span><span class="mlabel">write</span><span class="mlabel">nonatomic</span><span class="mlabel">copy</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>block called once when connection is established </p>

</div>
</div>
<a id="a96b070cb597ed0857fbf289579c10a58"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a96b070cb597ed0857fbf289579c10a58">&#9670;&nbsp;</a></span>connectionHandler</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">- (void(^ connectionHandler) (MQTTSessionEvent event))</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">read</span><span class="mlabel">write</span><span class="mlabel">atomic</span><span class="mlabel">strong</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>block called when connection is established </p>

</div>
</div>
<a id="a44f63ba3383e0e5c5bed5e051cad9d2f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a44f63ba3383e0e5c5bed5e051cad9d2f">&#9670;&nbsp;</a></span>connectMessage</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">- (MQTTMessage*) connectMessage</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">read</span><span class="mlabel">write</span><span class="mlabel">nonatomic</span><span class="mlabel">strong</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>for mqttio-OBJC backward compatibility the connect message used is stored here </p>

</div>
</div>
<a id="a1a8eb040c4fd693c218999bae64d1281"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1a8eb040c4fd693c218999bae64d1281">&#9670;&nbsp;</a></span>delegate</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">- (id&lt;MQTTSessionDelegate&gt;) delegate</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">read</span><span class="mlabel">write</span><span class="mlabel">nonatomic</span><span class="mlabel">weak</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>set this member variable to receive delegate messages </p><div class="fragment"><div class="line"><span class="preprocessor">#import &quot;MQTTClient.h&quot;</span></div><div class="line"></div><div class="line"><span class="keyword">@interface </span>MyClass : NSObject &lt;MQTTSessionDelegate&gt;</div><div class="line">...</div><div class="line"><span class="keyword">@end</span></div><div class="line"></div><div class="line">...</div><div class="line">MQTTSession *session = [[<a class="code" href="interface_m_q_t_t_session.html">MQTTSession</a> alloc] init];</div><div class="line">session.<a class="code" href="interface_m_q_t_t_session.html#a1a8eb040c4fd693c218999bae64d1281">delegate</a> = <span class="keyword">self</span>;</div><div class="line">...</div><div class="line">- (void)handleEvent:(<a class="code" href="interface_m_q_t_t_session.html">MQTTSession</a> *)session</div><div class="line">       event:(MQTTSessionEvent)eventCode</div><div class="line">       error:(NSError *)error {</div><div class="line">   ...</div><div class="line">}</div><div class="line">- (void)newMessage:(<a class="code" href="interface_m_q_t_t_session.html">MQTTSession</a> *)session</div><div class="line">       data:(NSData *)data</div><div class="line">       onTopic:(NSString *)topic</div><div class="line">       qos:(MQTTQosLevel)qos</div><div class="line">       retained:(BOOL)retained</div><div class="line">       mid:(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>)mid {</div><div class="line">   ...</div><div class="line">}</div></div><!-- fragment --> 
</div>
</div>
<a id="a92914b34c08b83665b838ec9f75f983c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a92914b34c08b83665b838ec9f75f983c">&#9670;&nbsp;</a></span>dupTimeout</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">- (double) dupTimeout</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">read</span><span class="mlabel">write</span><span class="mlabel">nonatomic</span><span class="mlabel">assign</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>dupTimeout If PUBACK or PUBREC not received, message will be resent after this interval </p>

</div>
</div>
<a id="a18c68ee9ea84d8a008a3893aa8e95f03"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a18c68ee9ea84d8a008a3893aa8e95f03">&#9670;&nbsp;</a></span>effectiveKeepAlive</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">- (UInt16) effectiveKeepAlive</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">read</span><span class="mlabel">nonatomic</span><span class="mlabel">assign</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>effectiveKeepAlive is a time interval measured in seconds It indicates the effective keep alive interval after a successfull connect where keepAliveInterval might have been overridden by the broker. </p>

</div>
</div>
<a id="a72a66b7bf08ab39c71369dc6debf5853"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a72a66b7bf08ab39c71369dc6debf5853">&#9670;&nbsp;</a></span>host</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">- (NSString*) host</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">read</span><span class="mlabel">atomic</span><span class="mlabel">assign</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>host an NSString containing the hostName or IP address of the Server </p>

</div>
</div>
<a id="aa63e148680fef0724b66218d53caba6d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa63e148680fef0724b66218d53caba6d">&#9670;&nbsp;</a></span>keepAliveInterval</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">- (UInt16) keepAliveInterval</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">read</span><span class="mlabel">write</span><span class="mlabel">nonatomic</span><span class="mlabel">assign</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>see keepAliveInterval The Keep Alive is a time interval measured in seconds. The MQTTClient ensures that the interval between Control Packets being sent does not exceed the Keep Alive value. In the absence of sending any other Control Packets, the Client sends a PINGREQ Packet. </p>

</div>
</div>
<a id="a5f760a87b7c349e612e103f0147b516b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5f760a87b7c349e612e103f0147b516b">&#9670;&nbsp;</a></span>maximumPacketSize</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">- (NSNumber*) maximumPacketSize</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">read</span><span class="mlabel">write</span><span class="mlabel">nonatomic</span><span class="mlabel">strong</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>maximumPacketSize specifies the number of seconds after which a session should expire MQTT v5.0 </p>

</div>
</div>
<a id="a0af8d5512fae0ed59e572e9566ac9940"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0af8d5512fae0ed59e572e9566ac9940">&#9670;&nbsp;</a></span>messageHandler</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">- (void(^ messageHandler) (NSData *message, NSString *topic))</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">read</span><span class="mlabel">write</span><span class="mlabel">atomic</span><span class="mlabel">strong</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>block called when message is received </p>

</div>
</div>
<a id="a5c0d3fc1c8fbdcb39ba7c7cff8d43a5b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5c0d3fc1c8fbdcb39ba7c7cff8d43a5b">&#9670;&nbsp;</a></span>password</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">- (NSString*) password</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">read</span><span class="mlabel">write</span><span class="mlabel">nonatomic</span><span class="mlabel">strong</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>see password an NSString object containing the user's password. If userName is nil, password must be nil as well. </p>

</div>
</div>
<a id="ae97bbef7489e0eb1f3bbbc93b02b6f41"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae97bbef7489e0eb1f3bbbc93b02b6f41">&#9670;&nbsp;</a></span>persistence</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">- (id&lt;<a class="el" href="protocol_m_q_t_t_persistence-p.html">MQTTPersistence</a>&gt;) persistence</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">read</span><span class="mlabel">write</span><span class="mlabel">nonatomic</span><span class="mlabel">strong</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Control MQTT persistence by setting the properties of persistence before connecting to an MQTT broker. The settings are specific to a clientId.</p>
<p>persistence.persistent = YES or NO (default) to establish file or in memory persistence. IMPORTANT: set immediately after creating the <a class="el" href="interface_m_q_t_t_session.html">MQTTSession</a> before calling any other method. Otherwise the default value (NO) will be used for this session.</p>
<p>persistence.maxWindowSize (a positive number, default is 16) to control the number of messages sent before waiting for acknowledgement in Qos 1 or 2. Additional messages are stored and transmitted later.</p>
<p>persistence.maxSize (a positive number of bytes, default is 64 MB) to limit the size of the persistence file. Messages published after the limit is reached are dropped.</p>
<p>persistence.maxMessages (a positive number, default is 1024) to limit the number of messages stored. Additional messages published are dropped.</p>
<p>Messages are deleted after they have been acknowledged. </p>

</div>
</div>
<a id="a22334eec8bf0b3ba97e2391f70d43320"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a22334eec8bf0b3ba97e2391f70d43320">&#9670;&nbsp;</a></span>port</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">- (UInt32) port</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">read</span><span class="mlabel">atomic</span><span class="mlabel">assign</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>port an unsigned 32 bit integer containing the IP port number of the Server </p>

</div>
</div>
<a id="a12e20758c5f8a1f0f2bd7dac339fe88f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a12e20758c5f8a1f0f2bd7dac339fe88f">&#9670;&nbsp;</a></span>protocolLevel</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">- (MQTTProtocolVersion) protocolLevel</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">read</span><span class="mlabel">write</span><span class="mlabel">nonatomic</span><span class="mlabel">assign</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>protocolLevel specifies the protocol to be used </p>

</div>
</div>
<a id="a7b44b48ef732f87b41c5f9e7082ccc7a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7b44b48ef732f87b41c5f9e7082ccc7a">&#9670;&nbsp;</a></span>receiveMaximum</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">- (NSNumber*) receiveMaximum</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">read</span><span class="mlabel">write</span><span class="mlabel">nonatomic</span><span class="mlabel">strong</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>receiveMaximum specifies the number of seconds after which a session should expire MQTT v5.0 </p>

</div>
</div>
<a id="ad8d55fb716b76724ffa009197dcf85f0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad8d55fb716b76724ffa009197dcf85f0">&#9670;&nbsp;</a></span>requestProblemInformation</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">- (NSNumber*) requestProblemInformation</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">read</span><span class="mlabel">write</span><span class="mlabel">nonatomic</span><span class="mlabel">strong</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>requestProblemInformation specifies the number of seconds after which a session should expire MQTT v5.0 </p>

</div>
</div>
<a id="a590a46485d04ce0d94740fe9f2957627"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a590a46485d04ce0d94740fe9f2957627">&#9670;&nbsp;</a></span>requestResponseInformation</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">- (NSNumber*) requestResponseInformation</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">read</span><span class="mlabel">write</span><span class="mlabel">nonatomic</span><span class="mlabel">strong</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>requestResponseInformation specifies the number of seconds after which a session should expire MQTT v5.0 </p>

</div>
</div>
<a id="a49e106f38faead00b6d9d53a77a50472"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a49e106f38faead00b6d9d53a77a50472">&#9670;&nbsp;</a></span>runLoop</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">- (NSRunLoop*) runLoop</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">read</span><span class="mlabel">write</span><span class="mlabel">nonatomic</span><span class="mlabel">strong</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>runLoop The runLoop where the streams are scheduled. If nil, defaults to [NSRunLoop currentRunLoop]. </p>

</div>
</div>
<a id="a3ab2f0926aa51b0dc7969c66bae215e4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3ab2f0926aa51b0dc7969c66bae215e4">&#9670;&nbsp;</a></span>runLoopMode</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">- (NSString*) runLoopMode</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">read</span><span class="mlabel">write</span><span class="mlabel">nonatomic</span><span class="mlabel">strong</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>runLoopMode The runLoopMode where the streams are scheduled. If nil, defaults to NSRunLoopCommonModes. </p>

</div>
</div>
<a id="a423d97593b11b2aba0eabbc13ee29011"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a423d97593b11b2aba0eabbc13ee29011">&#9670;&nbsp;</a></span>serverKeepAlive</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">- (NSNumber*) serverKeepAlive</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">read</span><span class="mlabel">nonatomic</span><span class="mlabel">strong</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>The serverKeepAlive is a time interval measured in seconds. This value may be set by the broker and overrides keepAliveInterval if present Zero means the broker does not perform any keep alive checks </p>

</div>
</div>
<a id="a03173ce5c561ad884fd4c3c86b893f54"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a03173ce5c561ad884fd4c3c86b893f54">&#9670;&nbsp;</a></span>sessionExpiryInterval</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">- (NSNumber*) sessionExpiryInterval</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">read</span><span class="mlabel">write</span><span class="mlabel">nonatomic</span><span class="mlabel">strong</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>sessionExpiryInterval specifies the number of seconds after which a session should expire MQTT v5.0 </p>

</div>
</div>
<a id="ad0712c44abf0f514feb9462779d3e2b8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad0712c44abf0f514feb9462779d3e2b8">&#9670;&nbsp;</a></span>sessionPresent</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">- (BOOL) sessionPresent</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">read</span><span class="mlabel">nonatomic</span><span class="mlabel">assign</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Indicates if the broker found a persistent session when connecting with cleanSession:FALSE </p>

</div>
</div>
<a id="adff1474fe186b8af3bb4cac1ccd4ff2d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adff1474fe186b8af3bb4cac1ccd4ff2d">&#9670;&nbsp;</a></span>status</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">- (MQTTSessionStatus) status</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">read</span><span class="mlabel">nonatomic</span><span class="mlabel">assign</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Session status </p>

</div>
</div>
<a id="a4cd7f476fc8c6e86927afa8fad70b820"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4cd7f476fc8c6e86927afa8fad70b820">&#9670;&nbsp;</a></span>topicAliasMaximum</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">- (NSNumber*) topicAliasMaximum</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">read</span><span class="mlabel">write</span><span class="mlabel">nonatomic</span><span class="mlabel">strong</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>topicAliasMaximum specifies the number of seconds after which a session should expire MQTT v5.0 </p>

</div>
</div>
<a id="ab3839efa8f1e67c2a1270a0bfa7362c1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab3839efa8f1e67c2a1270a0bfa7362c1">&#9670;&nbsp;</a></span>transport</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">- (id&lt;<a class="el" href="interface_m_q_t_t_transport.html">MQTTTransport</a>&gt;) transport</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">read</span><span class="mlabel">write</span><span class="mlabel">nonatomic</span><span class="mlabel">strong</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>the transport provider for MQTTClient</p>
<p>assign an in instance of a class implementing the <a class="el" href="interface_m_q_t_t_transport.html">MQTTTransport</a> protocol e.g. <a class="el" href="interface_m_q_t_t_c_f_socket_transport.html">MQTTCFSocketTransport</a> before connecting. </p>

</div>
</div>
<a id="a23cc4596889bf5798bf3749ee0a9e61f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a23cc4596889bf5798bf3749ee0a9e61f">&#9670;&nbsp;</a></span>userName</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">- (NSString*) userName</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">read</span><span class="mlabel">write</span><span class="mlabel">nonatomic</span><span class="mlabel">strong</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>see userName an NSString object containing the user's name (or ID) for authentication. May be nil. </p>

</div>
</div>
<a id="aa9f5d1f4c1ced1fd857b60e1f6888f42"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa9f5d1f4c1ced1fd857b60e1f6888f42">&#9670;&nbsp;</a></span>userProperty</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">- (NSDictionary&lt;NSString *, NSString*&gt;*) userProperty</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">read</span><span class="mlabel">write</span><span class="mlabel">nonatomic</span><span class="mlabel">strong</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>topicAliasMaximum specifies the number of seconds after which a session should expire MQTT v5.0 </p>

</div>
</div>
<a id="a289e2046978f865a280c61725df526c1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a289e2046978f865a280c61725df526c1">&#9670;&nbsp;</a></span>voip</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">- (BOOL) voip</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">read</span><span class="mlabel">write</span><span class="mlabel">nonatomic</span><span class="mlabel">assign</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Require for VoIP background service defaults to NO </p>

</div>
</div>
<a id="ad4fb8060a057777d053aec803097c10a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad4fb8060a057777d053aec803097c10a">&#9670;&nbsp;</a></span>willDelayInterval</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">- (NSNumber*) willDelayInterval</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">read</span><span class="mlabel">write</span><span class="mlabel">nonatomic</span><span class="mlabel">strong</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>willDelayInterval specifies the number of seconds after which a session should expire MQTT v5.0 </p>

</div>
</div>
<a id="aa3227d1cd407e13f1dd694cb352951d7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa3227d1cd407e13f1dd694cb352951d7">&#9670;&nbsp;</a></span>willFlag</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">- (BOOL) willFlag</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">read</span><span class="mlabel">write</span><span class="mlabel">nonatomic</span><span class="mlabel">assign</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>willFlag If the Will Flag is set to YES this indicates that a Will Message MUST be published by the Server when the Server detects that the Client is disconnected for any reason other than the Client flowing a DISCONNECT Packet. </p>

</div>
</div>
<a id="a10be0166d86c90591c40b79923eba9ba"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a10be0166d86c90591c40b79923eba9ba">&#9670;&nbsp;</a></span>willMsg</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">- (NSData*) willMsg</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">read</span><span class="mlabel">write</span><span class="mlabel">nonatomic</span><span class="mlabel">strong</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>willMsg If the Will Flag is set to YES the Will Message must be specified, nil otherwise. </p>

</div>
</div>
<a id="af9cee4ec8306915190b101441f673a71"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af9cee4ec8306915190b101441f673a71">&#9670;&nbsp;</a></span>willQoS</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">- (MQTTQosLevel) willQoS</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">read</span><span class="mlabel">write</span><span class="mlabel">nonatomic</span><span class="mlabel">assign</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>willQoS specifies the QoS level to be used when publishing the Will Message. If the Will Flag is set to NO, then the Will QoS MUST be set to 0. If the Will Flag is set to YES, the Will QoS MUST be a valid MQTTQosLevel. </p>

</div>
</div>
<a id="a54df13cee1ccaa0bf803304c33a3b237"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a54df13cee1ccaa0bf803304c33a3b237">&#9670;&nbsp;</a></span>willRetainFlag</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">- (BOOL) willRetainFlag</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">read</span><span class="mlabel">write</span><span class="mlabel">nonatomic</span><span class="mlabel">assign</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>willRetainFlag indicates if the server should publish the Will Messages with retainFlag. If the Will Flag is set to NO, then the Will Retain Flag MUST be set to NO . If the Will Flag is set to YES: If Will Retain is set to NO, the Serve MUST publish the Will Message as a non-retained publication [MQTT-3.1.2-14]. If Will Retain is set to YES, the Server MUST publish the Will Message as a retained publication [MQTT-3.1.2-15]. </p>

</div>
</div>
<a id="a20fd768170dd1d21800420f376d04042"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a20fd768170dd1d21800420f376d04042">&#9670;&nbsp;</a></span>willTopic</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">- (NSString*) willTopic</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">read</span><span class="mlabel">write</span><span class="mlabel">nonatomic</span><span class="mlabel">strong</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>willTopic If the Will Flag is set to YES, the Will Topic is a string, nil otherwise. </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="_m_q_t_t_session_8h_source.html">MQTTSession.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Jul 26 2017 14:33:14 for MQTTClient by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>