mirror of
https://github.com/FreeRTOS/coreMQTT
synced 2025-05-12 21:35:41 +08:00
203 lines
24 KiB
HTML
203 lines
24 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
|
<meta name="generator" content="Doxygen 1.9.6"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
<title>coreMQTT: MQTT_Connect</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="navtree.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="resize.js"></script>
|
|
<script type="text/javascript" src="navtreedata.js"></script>
|
|
<script type="text/javascript" src="navtree.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>
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
$(document).ready(function() { init_search(); });
|
|
/* @license-end */
|
|
</script>
|
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
<link href="style.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 id="projectrow">
|
|
<td id="projectalign">
|
|
<div id="projectname">coreMQTT<span id="projectnumber"> v2.2.0</span>
|
|
</div>
|
|
<div id="projectbrief">MQTT 3.1.1 Client Library</div>
|
|
</td>
|
|
<td> <div id="MSearchBox" class="MSearchBoxInactive">
|
|
<span class="left">
|
|
<span id="MSearchSelect" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()"> </span>
|
|
<input type="text" id="MSearchField" value="" placeholder="Search" accesskey="S"
|
|
onfocus="searchBox.OnSearchFieldFocus(true)"
|
|
onblur="searchBox.OnSearchFieldFocus(false)"
|
|
onkeyup="searchBox.OnSearchFieldChange(event)"/>
|
|
</span><span class="right">
|
|
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.svg" alt=""/></a>
|
|
</span>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<!-- end header part -->
|
|
<!-- Generated by Doxygen 1.9.6 -->
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
/* @license-end */
|
|
</script>
|
|
</div><!-- top -->
|
|
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
|
<div id="nav-tree">
|
|
<div id="nav-tree-contents">
|
|
<div id="nav-sync" class="sync"></div>
|
|
</div>
|
|
</div>
|
|
<div id="splitbar" style="-moz-user-select:none;"
|
|
class="ui-resizable-handle">
|
|
</div>
|
|
</div>
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
$(document).ready(function(){initNavTree('mqtt_connect_function.html',''); initResizable(); });
|
|
/* @license-end */
|
|
</script>
|
|
<div id="doc-content">
|
|
<!-- 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">
|
|
<div id="MSearchResults">
|
|
<div class="SRPage">
|
|
<div id="SRIndex">
|
|
<div id="SRResults"></div>
|
|
<div class="SRStatus" id="Loading">Loading...</div>
|
|
<div class="SRStatus" id="Searching">Searching...</div>
|
|
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div><div class="header">
|
|
<div class="headertitle"><div class="title">MQTT_Connect </div></div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
<div class="textblock"><div class="fragment"><div class="line"><a class="code hl_enumeration" href="group__mqtt__enum__types.html#gaba7ec045874a1c3432f99173367f735c">MQTTStatus_t</a> <a class="code hl_function" href="core__mqtt_8h.html#aed1e4dc123a8ba79ac569cb17c69bfa0">MQTT_Connect</a>( <a class="code hl_struct" href="struct_m_q_t_t_context__t.html">MQTTContext_t</a> * pContext,</div>
|
|
<div class="line"> <span class="keyword">const</span> <a class="code hl_struct" href="struct_m_q_t_t_connect_info__t.html">MQTTConnectInfo_t</a> * pConnectInfo,</div>
|
|
<div class="line"> <span class="keyword">const</span> <a class="code hl_struct" href="struct_m_q_t_t_publish_info__t.html">MQTTPublishInfo_t</a> * pWillInfo,</div>
|
|
<div class="line"> uint32_t timeoutMs,</div>
|
|
<div class="line"> <span class="keywordtype">bool</span> * pSessionPresent );</div>
|
|
<div class="ttc" id="acore__mqtt_8h_html_aed1e4dc123a8ba79ac569cb17c69bfa0"><div class="ttname"><a href="core__mqtt_8h.html#aed1e4dc123a8ba79ac569cb17c69bfa0">MQTT_Connect</a></div><div class="ttdeci">MQTTStatus_t MQTT_Connect(MQTTContext_t *pContext, const MQTTConnectInfo_t *pConnectInfo, const MQTTPublishInfo_t *pWillInfo, uint32_t timeoutMs, bool *pSessionPresent)</div><div class="ttdoc">Establish an MQTT session.</div><div class="ttdef"><b>Definition:</b> core_mqtt.c:2679</div></div>
|
|
<div class="ttc" id="agroup__mqtt__enum__types_html_gaba7ec045874a1c3432f99173367f735c"><div class="ttname"><a href="group__mqtt__enum__types.html#gaba7ec045874a1c3432f99173367f735c">MQTTStatus_t</a></div><div class="ttdeci">MQTTStatus_t</div><div class="ttdoc">Return codes from MQTT functions.</div><div class="ttdef"><b>Definition:</b> core_mqtt_serializer.h:87</div></div>
|
|
<div class="ttc" id="astruct_m_q_t_t_connect_info__t_html"><div class="ttname"><a href="struct_m_q_t_t_connect_info__t.html">MQTTConnectInfo_t</a></div><div class="ttdoc">MQTT CONNECT packet parameters.</div><div class="ttdef"><b>Definition:</b> core_mqtt_serializer.h:133</div></div>
|
|
<div class="ttc" id="astruct_m_q_t_t_context__t_html"><div class="ttname"><a href="struct_m_q_t_t_context__t.html">MQTTContext_t</a></div><div class="ttdoc">A struct representing an MQTT connection.</div><div class="ttdef"><b>Definition:</b> core_mqtt.h:170</div></div>
|
|
<div class="ttc" id="astruct_m_q_t_t_publish_info__t_html"><div class="ttname"><a href="struct_m_q_t_t_publish_info__t.html">MQTTPublishInfo_t</a></div><div class="ttdoc">MQTT PUBLISH packet parameters.</div><div class="ttdef"><b>Definition:</b> core_mqtt_serializer.h:202</div></div>
|
|
</div><!-- fragment --><p>Establish an MQTT session. </p>
|
|
<p>This function will send MQTT CONNECT packet and receive a CONNACK packet. The send and receive from the network is done through the transport interface.</p>
|
|
<p>The maximum time this function waits for a CONNACK is decided in one of the following ways:</p><ol type="1">
|
|
<li>If <code>timeoutMs</code> is greater than 0: <a class="el" href="struct_m_q_t_t_context__t.html#aabe1d302a16771292151013e8e30c582" title="Function used to get millisecond timestamps.">MQTTContext_t.getTime</a> is used to ensure that the function does not wait more than <code>timeoutMs</code> for CONNACK.</li>
|
|
<li>If <code>timeoutMs</code> is 0: The network receive for CONNACK is retried up to the number of times configured by <a class="el" href="core__mqtt__config__defaults_8h.html#a8ca6c96436d5e7c2c8a7933fb28a5c87" title="The number of retries for receiving CONNACK.">MQTT_MAX_CONNACK_RECEIVE_RETRY_COUNT</a>.</li>
|
|
</ol>
|
|
<dl class="section note"><dt>Note</dt><dd>If a dummy <a class="el" href="group__mqtt__callback__types.html#gae3bea55b0e49e5208b8c5709a5ea23aa" title="Application provided function to query the time elapsed since a given epoch in milliseconds.">MQTTGetCurrentTimeFunc_t</a> was passed to <a class="el" href="core__mqtt_8h.html#ae8444f3a85535e62cdb1ae9c192677d6" title="Initialize an MQTT context.">MQTT_Init</a>, then a timeout value of 0 MUST be passed to the API, and the <a class="el" href="core__mqtt__config__defaults_8h.html#a43dc9a67427d9e420a65955eea0e2671" title="The maximum duration between non-empty network reads while receiving an MQTT packet via the MQTT_Proc...">MQTT_RECV_POLLING_TIMEOUT_MS</a> and <a class="el" href="core__mqtt__config__defaults_8h.html#ac262cab68c4c713ebc2b91a2e4ab8b19" title="The maximum duration allowed to send an MQTT packet over the transport interface.">MQTT_SEND_TIMEOUT_MS</a> timeout configurations MUST be set to 0.</dd></dl>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">pContext</td><td>Initialized MQTT context. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">pConnectInfo</td><td>MQTT CONNECT packet information. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">pWillInfo</td><td>Last Will and Testament. Pass NULL if Last Will and Testament is not used. </td></tr>
|
|
<tr><td class="paramdir">[in]</td><td class="paramname">timeoutMs</td><td>Maximum time in milliseconds to wait for a CONNACK packet. A zero timeout makes use of the retries for receiving CONNACK as configured with <a class="el" href="core__mqtt__config__defaults_8h.html#a8ca6c96436d5e7c2c8a7933fb28a5c87" title="The number of retries for receiving CONNACK.">MQTT_MAX_CONNACK_RECEIVE_RETRY_COUNT</a>. </td></tr>
|
|
<tr><td class="paramdir">[out]</td><td class="paramname">pSessionPresent</td><td>This value will be set to true if a previous session was present; otherwise it will be set to false. It is only relevant if not establishing a clean session.</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__mqtt__enum__types.html#ggaba7ec045874a1c3432f99173367f735cab1be4db832a0468f024243bca151a8df">MQTTNoMemory</a> if the <a class="el" href="struct_m_q_t_t_context__t.html#a231c5576a6ce389317a3f00f95628276" title="The buffer used in sending and receiving packets from the network.">MQTTContext_t.networkBuffer</a> is too small to hold the MQTT packet; <a class="el" href="group__mqtt__enum__types.html#ggaba7ec045874a1c3432f99173367f735caa39030c93b0263b2699502a074f003b5">MQTTBadParameter</a> if invalid parameters are passed; <a class="el" href="group__mqtt__enum__types.html#ggaba7ec045874a1c3432f99173367f735cafd06b63fe9677fa2af06b0f4c7d4ad55">MQTTSendFailed</a> if transport send failed; <a class="el" href="group__mqtt__enum__types.html#ggaba7ec045874a1c3432f99173367f735caa14bc8aa4ad218702d782366945d43ac">MQTTRecvFailed</a> if transport receive failed for CONNACK; <a class="el" href="group__mqtt__enum__types.html#ggaba7ec045874a1c3432f99173367f735ca676f21c0ddf297ae3ec874bc829aa957">MQTTNoDataAvailable</a> if no data available to receive in transport until the <code>timeoutMs</code> for CONNACK; <a class="el" href="group__mqtt__enum__types.html#ggaba7ec045874a1c3432f99173367f735ca484e062cb4f3fccc1858dd25cfeee056">MQTTSuccess</a> otherwise.</dd></dl>
|
|
<dl class="section note"><dt>Note</dt><dd>This API may spend more time than provided in the timeoutMS parameters in certain conditions as listed below:</dd></dl>
|
|
<ol type="1">
|
|
<li>Timeouts are incorrectly configured - If the timeoutMS is less than the transport receive timeout and if a CONNACK packet is not received within the transport receive timeout, the API will spend the transport receive timeout (which is more time than the timeoutMs). It is the case of incorrect timeout configuration as the timeoutMs parameter passed to this API must be greater than the transport receive timeout. Please refer to the transport interface documentation for more details about timeout configurations.</li>
|
|
<li>Partial CONNACK packet is received right before the expiry of the timeout - It is possible that first two bytes of CONNACK packet (packet type and remaining length) are received right before the expiry of the timeoutMS. In that case, the API makes one more network receive call in an attempt to receive the remaining 2 bytes. In the worst case, it can happen that the remaining 2 bytes are never received and this API will end up spending timeoutMs + transport receive timeout.</li>
|
|
</ol>
|
|
<p><b>Example</b> </p><div class="fragment"><div class="line"><span class="comment">// Variables used in this example.</span></div>
|
|
<div class="line"><a class="code hl_enumeration" href="group__mqtt__enum__types.html#gaba7ec045874a1c3432f99173367f735c">MQTTStatus_t</a> status;</div>
|
|
<div class="line"><a class="code hl_struct" href="struct_m_q_t_t_connect_info__t.html">MQTTConnectInfo_t</a> connectInfo = { 0 };</div>
|
|
<div class="line"><a class="code hl_struct" href="struct_m_q_t_t_publish_info__t.html">MQTTPublishInfo_t</a> willInfo = { 0 };</div>
|
|
<div class="line"><span class="keywordtype">bool</span> sessionPresent;</div>
|
|
<div class="line"><span class="comment">// This is assumed to have been initialized before calling this function.</span></div>
|
|
<div class="line"><a class="code hl_struct" href="struct_m_q_t_t_context__t.html">MQTTContext_t</a> * pContext;</div>
|
|
<div class="line"> </div>
|
|
<div class="line"><span class="comment">// True for creating a new session with broker, false if we want to resume an old one.</span></div>
|
|
<div class="line">connectInfo.<a class="code hl_variable" href="struct_m_q_t_t_connect_info__t.html#a606e7765c4f2215fb2bf630f6eb9ff6b">cleanSession</a> = <span class="keyword">true</span>;</div>
|
|
<div class="line"><span class="comment">// Client ID must be unique to broker. This field is required.</span></div>
|
|
<div class="line">connectInfo.<a class="code hl_variable" href="struct_m_q_t_t_connect_info__t.html#a010f8f6993cbf8899648d5c515ff7884">pClientIdentifier</a> = <span class="stringliteral">"someClientID"</span>;</div>
|
|
<div class="line">connectInfo.<a class="code hl_variable" href="struct_m_q_t_t_connect_info__t.html#a8077ef36ab318f3d35bee6f098fa54d4">clientIdentifierLength</a> = strlen( connectInfo.<a class="code hl_variable" href="struct_m_q_t_t_connect_info__t.html#a010f8f6993cbf8899648d5c515ff7884">pClientIdentifier</a> );</div>
|
|
<div class="line"> </div>
|
|
<div class="line"><span class="comment">// The following fields are optional.</span></div>
|
|
<div class="line"><span class="comment">// Value for keep alive.</span></div>
|
|
<div class="line">connectInfo.<a class="code hl_variable" href="struct_m_q_t_t_connect_info__t.html#a7d05d53261732ebdfbb9ee665a347591">keepAliveSeconds</a> = 60;</div>
|
|
<div class="line"><span class="comment">// Optional username and password.</span></div>
|
|
<div class="line">connectInfo.<a class="code hl_variable" href="struct_m_q_t_t_connect_info__t.html#a1118d7d3251a11445318557280db53b4">pUserName</a> = <span class="stringliteral">"someUserName"</span>;</div>
|
|
<div class="line">connectInfo.<a class="code hl_variable" href="struct_m_q_t_t_connect_info__t.html#a7165be3bb06d4527ab4eb773b50e05e1">userNameLength</a> = strlen( connectInfo.<a class="code hl_variable" href="struct_m_q_t_t_connect_info__t.html#a1118d7d3251a11445318557280db53b4">pUserName</a> );</div>
|
|
<div class="line">connectInfo.<a class="code hl_variable" href="struct_m_q_t_t_connect_info__t.html#acec6c79a11d2f0f130802393f34d2b5e">pPassword</a> = <span class="stringliteral">"somePassword"</span>;</div>
|
|
<div class="line">connectInfo.<a class="code hl_variable" href="struct_m_q_t_t_connect_info__t.html#a818c4e212a12020a4109eb890ec96383">passwordLength</a> = strlen( connectInfo.<a class="code hl_variable" href="struct_m_q_t_t_connect_info__t.html#acec6c79a11d2f0f130802393f34d2b5e">pPassword</a> );</div>
|
|
<div class="line"> </div>
|
|
<div class="line"><span class="comment">// The last will and testament is optional, it will be published by the broker</span></div>
|
|
<div class="line"><span class="comment">// should this client disconnect without sending a DISCONNECT packet.</span></div>
|
|
<div class="line">willInfo.<a class="code hl_variable" href="struct_m_q_t_t_publish_info__t.html#a178224d02b4acdec7e08e88de0e4b399">qos</a> = <a class="code hl_enumvalue" href="group__mqtt__enum__types.html#ggae308a5928d7f537379c29a894228093aaad51b23a1ae1417f96d8f343c788d1d2">MQTTQoS0</a>;</div>
|
|
<div class="line">willInfo.<a class="code hl_variable" href="struct_m_q_t_t_publish_info__t.html#aa80e8ca282d01630f878ad0afe81d7a4">pTopicName</a> = <span class="stringliteral">"/lwt/topic/name"</span>;</div>
|
|
<div class="line">willInfo.<a class="code hl_variable" href="struct_m_q_t_t_publish_info__t.html#a6161c792d20cc7cf8284c1b71ea1145f">topicNameLength</a> = strlen( willInfo.<a class="code hl_variable" href="struct_m_q_t_t_publish_info__t.html#aa80e8ca282d01630f878ad0afe81d7a4">pTopicName</a> );</div>
|
|
<div class="line">willInfo.<a class="code hl_variable" href="struct_m_q_t_t_publish_info__t.html#afc28299f4f625f5e674bb61b42f03380">pPayload</a> = <span class="stringliteral">"LWT Message"</span>;</div>
|
|
<div class="line">willInfo.<a class="code hl_variable" href="struct_m_q_t_t_publish_info__t.html#a7997964e11571f35f0c3b729db0f760f">payloadLength</a> = strlen( <span class="stringliteral">"LWT Message"</span> );</div>
|
|
<div class="line"> </div>
|
|
<div class="line"><span class="comment">// Send the connect packet. Use 100 ms as the timeout to wait for the CONNACK packet.</span></div>
|
|
<div class="line">status = <a class="code hl_function" href="core__mqtt_8h.html#aed1e4dc123a8ba79ac569cb17c69bfa0">MQTT_Connect</a>( pContext, &connectInfo, &willInfo, 100, &sessionPresent );</div>
|
|
<div class="line"> </div>
|
|
<div class="line"><span class="keywordflow">if</span>( status == <a class="code hl_enumvalue" href="group__mqtt__enum__types.html#ggaba7ec045874a1c3432f99173367f735ca484e062cb4f3fccc1858dd25cfeee056">MQTTSuccess</a> )</div>
|
|
<div class="line">{</div>
|
|
<div class="line"> <span class="comment">// Since we requested a clean session, this must be false</span></div>
|
|
<div class="line"> assert( sessionPresent == <span class="keyword">false</span> );</div>
|
|
<div class="line"> </div>
|
|
<div class="line"> <span class="comment">// Do something with the connection.</span></div>
|
|
<div class="line">}</div>
|
|
<div class="ttc" id="agroup__mqtt__enum__types_html_ggaba7ec045874a1c3432f99173367f735ca484e062cb4f3fccc1858dd25cfeee056"><div class="ttname"><a href="group__mqtt__enum__types.html#ggaba7ec045874a1c3432f99173367f735ca484e062cb4f3fccc1858dd25cfeee056">MQTTSuccess</a></div><div class="ttdeci">@ MQTTSuccess</div><div class="ttdef"><b>Definition:</b> core_mqtt_serializer.h:88</div></div>
|
|
<div class="ttc" id="agroup__mqtt__enum__types_html_ggae308a5928d7f537379c29a894228093aaad51b23a1ae1417f96d8f343c788d1d2"><div class="ttname"><a href="group__mqtt__enum__types.html#ggae308a5928d7f537379c29a894228093aaad51b23a1ae1417f96d8f343c788d1d2">MQTTQoS0</a></div><div class="ttdeci">@ MQTTQoS0</div><div class="ttdef"><b>Definition:</b> core_mqtt_serializer.h:110</div></div>
|
|
<div class="ttc" id="astruct_m_q_t_t_connect_info__t_html_a010f8f6993cbf8899648d5c515ff7884"><div class="ttname"><a href="struct_m_q_t_t_connect_info__t.html#a010f8f6993cbf8899648d5c515ff7884">MQTTConnectInfo_t::pClientIdentifier</a></div><div class="ttdeci">const char * pClientIdentifier</div><div class="ttdoc">MQTT client identifier. Must be unique per client.</div><div class="ttdef"><b>Definition:</b> core_mqtt_serializer.h:147</div></div>
|
|
<div class="ttc" id="astruct_m_q_t_t_connect_info__t_html_a1118d7d3251a11445318557280db53b4"><div class="ttname"><a href="struct_m_q_t_t_connect_info__t.html#a1118d7d3251a11445318557280db53b4">MQTTConnectInfo_t::pUserName</a></div><div class="ttdeci">const char * pUserName</div><div class="ttdoc">MQTT user name. Set to NULL if not used.</div><div class="ttdef"><b>Definition:</b> core_mqtt_serializer.h:157</div></div>
|
|
<div class="ttc" id="astruct_m_q_t_t_connect_info__t_html_a606e7765c4f2215fb2bf630f6eb9ff6b"><div class="ttname"><a href="struct_m_q_t_t_connect_info__t.html#a606e7765c4f2215fb2bf630f6eb9ff6b">MQTTConnectInfo_t::cleanSession</a></div><div class="ttdeci">bool cleanSession</div><div class="ttdoc">Whether to establish a new, clean session or resume a previous session.</div><div class="ttdef"><b>Definition:</b> core_mqtt_serializer.h:137</div></div>
|
|
<div class="ttc" id="astruct_m_q_t_t_connect_info__t_html_a7165be3bb06d4527ab4eb773b50e05e1"><div class="ttname"><a href="struct_m_q_t_t_connect_info__t.html#a7165be3bb06d4527ab4eb773b50e05e1">MQTTConnectInfo_t::userNameLength</a></div><div class="ttdeci">uint16_t userNameLength</div><div class="ttdoc">Length of MQTT user name. Set to 0 if not used.</div><div class="ttdef"><b>Definition:</b> core_mqtt_serializer.h:162</div></div>
|
|
<div class="ttc" id="astruct_m_q_t_t_connect_info__t_html_a7d05d53261732ebdfbb9ee665a347591"><div class="ttname"><a href="struct_m_q_t_t_connect_info__t.html#a7d05d53261732ebdfbb9ee665a347591">MQTTConnectInfo_t::keepAliveSeconds</a></div><div class="ttdeci">uint16_t keepAliveSeconds</div><div class="ttdoc">MQTT keep alive period.</div><div class="ttdef"><b>Definition:</b> core_mqtt_serializer.h:142</div></div>
|
|
<div class="ttc" id="astruct_m_q_t_t_connect_info__t_html_a8077ef36ab318f3d35bee6f098fa54d4"><div class="ttname"><a href="struct_m_q_t_t_connect_info__t.html#a8077ef36ab318f3d35bee6f098fa54d4">MQTTConnectInfo_t::clientIdentifierLength</a></div><div class="ttdeci">uint16_t clientIdentifierLength</div><div class="ttdoc">Length of the client identifier.</div><div class="ttdef"><b>Definition:</b> core_mqtt_serializer.h:152</div></div>
|
|
<div class="ttc" id="astruct_m_q_t_t_connect_info__t_html_a818c4e212a12020a4109eb890ec96383"><div class="ttname"><a href="struct_m_q_t_t_connect_info__t.html#a818c4e212a12020a4109eb890ec96383">MQTTConnectInfo_t::passwordLength</a></div><div class="ttdeci">uint16_t passwordLength</div><div class="ttdoc">Length of MQTT password. Set to 0 if not used.</div><div class="ttdef"><b>Definition:</b> core_mqtt_serializer.h:172</div></div>
|
|
<div class="ttc" id="astruct_m_q_t_t_connect_info__t_html_acec6c79a11d2f0f130802393f34d2b5e"><div class="ttname"><a href="struct_m_q_t_t_connect_info__t.html#acec6c79a11d2f0f130802393f34d2b5e">MQTTConnectInfo_t::pPassword</a></div><div class="ttdeci">const char * pPassword</div><div class="ttdoc">MQTT password. Set to NULL if not used.</div><div class="ttdef"><b>Definition:</b> core_mqtt_serializer.h:167</div></div>
|
|
<div class="ttc" id="astruct_m_q_t_t_publish_info__t_html_a178224d02b4acdec7e08e88de0e4b399"><div class="ttname"><a href="struct_m_q_t_t_publish_info__t.html#a178224d02b4acdec7e08e88de0e4b399">MQTTPublishInfo_t::qos</a></div><div class="ttdeci">MQTTQoS_t qos</div><div class="ttdoc">Quality of Service for message.</div><div class="ttdef"><b>Definition:</b> core_mqtt_serializer.h:206</div></div>
|
|
<div class="ttc" id="astruct_m_q_t_t_publish_info__t_html_a6161c792d20cc7cf8284c1b71ea1145f"><div class="ttname"><a href="struct_m_q_t_t_publish_info__t.html#a6161c792d20cc7cf8284c1b71ea1145f">MQTTPublishInfo_t::topicNameLength</a></div><div class="ttdeci">uint16_t topicNameLength</div><div class="ttdoc">Length of topic name.</div><div class="ttdef"><b>Definition:</b> core_mqtt_serializer.h:226</div></div>
|
|
<div class="ttc" id="astruct_m_q_t_t_publish_info__t_html_a7997964e11571f35f0c3b729db0f760f"><div class="ttname"><a href="struct_m_q_t_t_publish_info__t.html#a7997964e11571f35f0c3b729db0f760f">MQTTPublishInfo_t::payloadLength</a></div><div class="ttdeci">size_t payloadLength</div><div class="ttdoc">Message payload length.</div><div class="ttdef"><b>Definition:</b> core_mqtt_serializer.h:236</div></div>
|
|
<div class="ttc" id="astruct_m_q_t_t_publish_info__t_html_aa80e8ca282d01630f878ad0afe81d7a4"><div class="ttname"><a href="struct_m_q_t_t_publish_info__t.html#aa80e8ca282d01630f878ad0afe81d7a4">MQTTPublishInfo_t::pTopicName</a></div><div class="ttdeci">const char * pTopicName</div><div class="ttdoc">Topic name on which the message is published.</div><div class="ttdef"><b>Definition:</b> core_mqtt_serializer.h:221</div></div>
|
|
<div class="ttc" id="astruct_m_q_t_t_publish_info__t_html_afc28299f4f625f5e674bb61b42f03380"><div class="ttname"><a href="struct_m_q_t_t_publish_info__t.html#afc28299f4f625f5e674bb61b42f03380">MQTTPublishInfo_t::pPayload</a></div><div class="ttdeci">const void * pPayload</div><div class="ttdoc">Message payload.</div><div class="ttdef"><b>Definition:</b> core_mqtt_serializer.h:231</div></div>
|
|
</div><!-- fragment --> </div></div><!-- contents -->
|
|
</div><!-- PageDoc -->
|
|
</div><!-- doc-content -->
|
|
<!-- start footer part -->
|
|
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
|
<ul>
|
|
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.6 </li>
|
|
</ul>
|
|
</div>
|
|
</body>
|
|
</html>
|