mirror of
https://github.com/eclipse/paho.mqtt.c.git
synced 2025-06-08 19:14:47 +08:00
704 lines
44 KiB
HTML
704 lines
44 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">
|
|
<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.17"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
<title>MQTT C Client Libraries Internals: MQTTPersistence.c File 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="projectlogo"><img alt="Logo" src="pahologo.png"/></td>
|
|
<td id="projectalign" style="padding-left: 0.5em;">
|
|
<div id="projectname">MQTT C Client Libraries Internals
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<!-- end header part -->
|
|
<!-- Generated by Doxygen 1.8.17 -->
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
|
/* @license-end */
|
|
</script>
|
|
<script type="text/javascript" src="menudata.js"></script>
|
|
<script type="text/javascript" src="menu.js"></script>
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
$(function() {
|
|
initMenu('',true,false,'search.php','Search');
|
|
$(document).ready(function() { init_search(); });
|
|
});
|
|
/* @license-end */</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="#define-members">Macros</a> |
|
|
<a href="#func-members">Functions</a> </div>
|
|
<div class="headertitle">
|
|
<div class="title">MQTTPersistence.c File Reference</div> </div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
|
|
<p>Functions that apply to persistence operations.
|
|
<a href="#details">More...</a></p>
|
|
<div class="textblock"><code>#include <stdio.h></code><br />
|
|
<code>#include <string.h></code><br />
|
|
<code>#include "MQTTPersistence.h"</code><br />
|
|
<code>#include "MQTTPersistenceDefault.h"</code><br />
|
|
<code>#include "MQTTProtocolClient.h"</code><br />
|
|
<code>#include "Heap.h"</code><br />
|
|
<code>#include "StackTrace.h"</code><br />
|
|
</div><div class="textblock"><div class="dynheader">
|
|
Include dependency graph for MQTTPersistence.c:</div>
|
|
<div class="dyncontent">
|
|
<div class="center"><img src="MQTTPersistence_8c__incl.png" border="0" usemap="#MQTTPersistence_8c" alt=""/></div>
|
|
<map name="MQTTPersistence_8c" id="MQTTPersistence_8c">
|
|
<area shape="rect" title="Functions that apply to persistence operations." alt="" coords="9,5,147,32"/>
|
|
<area shape="rect" title=" " alt="" coords="5,80,65,107"/>
|
|
<area shape="rect" title=" " alt="" coords="90,80,154,107"/>
|
|
</map>
|
|
</div>
|
|
</div><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
|
|
Macros</h2></td></tr>
|
|
<tr class="memitem:abb137651652600a02e6bec838affc570"><td class="memItemLeft" align="right" valign="top"><a id="abb137651652600a02e6bec838affc570"></a>
|
|
#define </td><td class="memItemRight" valign="bottom"><b>MAX_NO_OF_BUFFERS</b>   9</td></tr>
|
|
<tr class="separator:abb137651652600a02e6bec838affc570"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
|
|
Functions</h2></td></tr>
|
|
<tr class="memitem:a4b8370699d4ddc794580851f779e39d1"><td class="memItemLeft" align="right" valign="top"><a id="a4b8370699d4ddc794580851f779e39d1"></a>
|
|
static <a class="el" href="structMQTTPersistence__qEntry.html">MQTTPersistence_qEntry</a> * </td><td class="memItemRight" valign="bottom"><b>MQTTPersistence_restoreQueueEntry</b> (char *buffer, size_t buflen, int MQTTVersion)</td></tr>
|
|
<tr class="separator:a4b8370699d4ddc794580851f779e39d1"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a49f1d08df1958c5e77354ba05abe4c87"><td class="memItemLeft" align="right" valign="top"><a id="a49f1d08df1958c5e77354ba05abe4c87"></a>
|
|
static void </td><td class="memItemRight" valign="bottom"><b>MQTTPersistence_insertInSeqOrder</b> (<a class="el" href="structList.html">List</a> *list, <a class="el" href="structMQTTPersistence__qEntry.html">MQTTPersistence_qEntry</a> *<a class="el" href="structqEntry.html">qEntry</a>, size_t size)</td></tr>
|
|
<tr class="separator:a49f1d08df1958c5e77354ba05abe4c87"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a75e756280e499db530896c5b74b8d3b5"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="MQTTPersistence_8c.html#a75e756280e499db530896c5b74b8d3b5">MQTTPersistence_create</a> (<a class="el" href="structMQTTClient__persistence.html">MQTTClient_persistence</a> **persistence, int type, void *pcontext)</td></tr>
|
|
<tr class="memdesc:a75e756280e499db530896c5b74b8d3b5"><td class="mdescLeft"> </td><td class="mdescRight">Creates a <a class="el" href="structMQTTClient__persistence.html" title="A structure containing the function pointers to a persistence implementation and the context or state...">MQTTClient_persistence</a> structure representing a persistence implementation. <a href="MQTTPersistence_8c.html#a75e756280e499db530896c5b74b8d3b5">More...</a><br /></td></tr>
|
|
<tr class="separator:a75e756280e499db530896c5b74b8d3b5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a65b64467da967b6930966b98f249406e"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="MQTTPersistence_8c.html#a65b64467da967b6930966b98f249406e">MQTTPersistence_initialize</a> (<a class="el" href="structClients.html">Clients</a> *c, const char *serverURI)</td></tr>
|
|
<tr class="memdesc:a65b64467da967b6930966b98f249406e"><td class="mdescLeft"> </td><td class="mdescRight">Open persistent store and restore any persisted messages. <a href="MQTTPersistence_8c.html#a65b64467da967b6930966b98f249406e">More...</a><br /></td></tr>
|
|
<tr class="separator:a65b64467da967b6930966b98f249406e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a385b6c191dbf51652d3e3a81813848f1"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="MQTTPersistence_8c.html#a385b6c191dbf51652d3e3a81813848f1">MQTTPersistence_close</a> (<a class="el" href="structClients.html">Clients</a> *c)</td></tr>
|
|
<tr class="memdesc:a385b6c191dbf51652d3e3a81813848f1"><td class="mdescLeft"> </td><td class="mdescRight">Close persistent store. <a href="MQTTPersistence_8c.html#a385b6c191dbf51652d3e3a81813848f1">More...</a><br /></td></tr>
|
|
<tr class="separator:a385b6c191dbf51652d3e3a81813848f1"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a6f6056b7418b66a3786a5028b2357a86"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="MQTTPersistence_8c.html#a6f6056b7418b66a3786a5028b2357a86">MQTTPersistence_clear</a> (<a class="el" href="structClients.html">Clients</a> *c)</td></tr>
|
|
<tr class="memdesc:a6f6056b7418b66a3786a5028b2357a86"><td class="mdescLeft"> </td><td class="mdescRight">Clears the persistent store. <a href="MQTTPersistence_8c.html#a6f6056b7418b66a3786a5028b2357a86">More...</a><br /></td></tr>
|
|
<tr class="separator:a6f6056b7418b66a3786a5028b2357a86"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a3e607d17e088a493097af07e9c7b0006"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="MQTTPersistence_8c.html#a3e607d17e088a493097af07e9c7b0006">MQTTPersistence_restorePackets</a> (<a class="el" href="structClients.html">Clients</a> *c)</td></tr>
|
|
<tr class="memdesc:a3e607d17e088a493097af07e9c7b0006"><td class="mdescLeft"> </td><td class="mdescRight">Restores the persisted records to the outbound and inbound message queues of the client. <a href="MQTTPersistence_8c.html#a3e607d17e088a493097af07e9c7b0006">More...</a><br /></td></tr>
|
|
<tr class="separator:a3e607d17e088a493097af07e9c7b0006"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a6bc55eebf10d7a7f7e2849b3e33716d1"><td class="memItemLeft" align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="MQTTPersistence_8c.html#a6bc55eebf10d7a7f7e2849b3e33716d1">MQTTPersistence_restorePacket</a> (int MQTTVersion, char *buffer, size_t buflen)</td></tr>
|
|
<tr class="memdesc:a6bc55eebf10d7a7f7e2849b3e33716d1"><td class="mdescLeft"> </td><td class="mdescRight">Returns a MQTT packet restored from persisted data. <a href="MQTTPersistence_8c.html#a6bc55eebf10d7a7f7e2849b3e33716d1">More...</a><br /></td></tr>
|
|
<tr class="separator:a6bc55eebf10d7a7f7e2849b3e33716d1"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a568adcd6ad3542d6f631a7f7a2e682e5"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="MQTTPersistence_8c.html#a568adcd6ad3542d6f631a7f7a2e682e5">MQTTPersistence_insertInOrder</a> (<a class="el" href="structList.html">List</a> *list, void *content, size_t size)</td></tr>
|
|
<tr class="memdesc:a568adcd6ad3542d6f631a7f7a2e682e5"><td class="mdescLeft"> </td><td class="mdescRight">Inserts the specified message into the list, maintaining message ID order. <a href="MQTTPersistence_8c.html#a568adcd6ad3542d6f631a7f7a2e682e5">More...</a><br /></td></tr>
|
|
<tr class="separator:a568adcd6ad3542d6f631a7f7a2e682e5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a879b91862bb099e16ca81e57ba36e3fe"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="MQTTPersistence_8c.html#a879b91862bb099e16ca81e57ba36e3fe">MQTTPersistence_putPacket</a> (int socket, char *buf0, size_t buf0len, int count, char **buffers, size_t *buflens, int htype, int msgId, int scr, int MQTTVersion)</td></tr>
|
|
<tr class="memdesc:a879b91862bb099e16ca81e57ba36e3fe"><td class="mdescLeft"> </td><td class="mdescRight">Adds a record to the persistent store. <a href="MQTTPersistence_8c.html#a879b91862bb099e16ca81e57ba36e3fe">More...</a><br /></td></tr>
|
|
<tr class="separator:a879b91862bb099e16ca81e57ba36e3fe"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aba48f1a44c540fa37bca207cae3cbbd3"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="MQTTPersistence_8c.html#aba48f1a44c540fa37bca207cae3cbbd3">MQTTPersistence_remove</a> (<a class="el" href="structClients.html">Clients</a> *c, char *type, int qos, int msgId)</td></tr>
|
|
<tr class="memdesc:aba48f1a44c540fa37bca207cae3cbbd3"><td class="mdescLeft"> </td><td class="mdescRight">Deletes a record from the persistent store. <a href="MQTTPersistence_8c.html#aba48f1a44c540fa37bca207cae3cbbd3">More...</a><br /></td></tr>
|
|
<tr class="separator:aba48f1a44c540fa37bca207cae3cbbd3"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:adbf5881a3c6ce9bd7062182dfffe27fa"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="MQTTPersistence_8c.html#adbf5881a3c6ce9bd7062182dfffe27fa">MQTTPersistence_wrapMsgID</a> (<a class="el" href="structClients.html">Clients</a> *client)</td></tr>
|
|
<tr class="memdesc:adbf5881a3c6ce9bd7062182dfffe27fa"><td class="mdescLeft"> </td><td class="mdescRight">Checks whether the message IDs wrapped by looking for the largest gap between two consecutive message IDs in the outboundMsgs queue. <a href="MQTTPersistence_8c.html#adbf5881a3c6ce9bd7062182dfffe27fa">More...</a><br /></td></tr>
|
|
<tr class="separator:adbf5881a3c6ce9bd7062182dfffe27fa"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:acd17e0ec0c7c29d4ba536ee80cb1c964"><td class="memItemLeft" align="right" valign="top"><a id="acd17e0ec0c7c29d4ba536ee80cb1c964"></a>
|
|
int </td><td class="memItemRight" valign="bottom"><b>MQTTPersistence_unpersistQueueEntry</b> (<a class="el" href="structClients.html">Clients</a> *client, <a class="el" href="structMQTTPersistence__qEntry.html">MQTTPersistence_qEntry</a> *qe)</td></tr>
|
|
<tr class="separator:acd17e0ec0c7c29d4ba536ee80cb1c964"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a19f3f5b8d2336a3ffe5aa82137d64eb5"><td class="memItemLeft" align="right" valign="top"><a id="a19f3f5b8d2336a3ffe5aa82137d64eb5"></a>
|
|
int </td><td class="memItemRight" valign="bottom"><b>MQTTPersistence_persistQueueEntry</b> (<a class="el" href="structClients.html">Clients</a> *aclient, <a class="el" href="structMQTTPersistence__qEntry.html">MQTTPersistence_qEntry</a> *qe)</td></tr>
|
|
<tr class="separator:a19f3f5b8d2336a3ffe5aa82137d64eb5"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ab4f6437946ac80d5f9e882e92e59cc5c"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="MQTTPersistence_8c.html#ab4f6437946ac80d5f9e882e92e59cc5c">MQTTPersistence_restoreMessageQueue</a> (<a class="el" href="structClients.html">Clients</a> *c)</td></tr>
|
|
<tr class="memdesc:ab4f6437946ac80d5f9e882e92e59cc5c"><td class="mdescLeft"> </td><td class="mdescRight">Restores a queue of messages from persistence to memory. <a href="MQTTPersistence_8c.html#ab4f6437946ac80d5f9e882e92e59cc5c">More...</a><br /></td></tr>
|
|
<tr class="separator:ab4f6437946ac80d5f9e882e92e59cc5c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
<div class="textblock"><p>Functions that apply to persistence operations. </p>
|
|
</div><h2 class="groupheader">Function Documentation</h2>
|
|
<a id="a6f6056b7418b66a3786a5028b2357a86"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a6f6056b7418b66a3786a5028b2357a86">◆ </a></span>MQTTPersistence_clear()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int MQTTPersistence_clear </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structClients.html">Clients</a> * </td>
|
|
<td class="paramname"><em>c</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Clears the persistent store. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">client</td><td>the client as <a class="el" href="structClients.html" title="Data related to one client.">Clients</a>. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>0 if success, <a class="el" href="MQTTClientPersistence_8h.html#ab716e21e53c84a5ad62aa962a2a8f7db" title="Application-specific persistence functions must return this error code if there is a problem executin...">MQTTCLIENT_PERSISTENCE_ERROR</a> otherwise. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a385b6c191dbf51652d3e3a81813848f1"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a385b6c191dbf51652d3e3a81813848f1">◆ </a></span>MQTTPersistence_close()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int MQTTPersistence_close </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structClients.html">Clients</a> * </td>
|
|
<td class="paramname"><em>c</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Close persistent store. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">client</td><td>the client as <a class="el" href="structClients.html" title="Data related to one client.">Clients</a>. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>0 if success, <a class="el" href="MQTTClientPersistence_8h.html#ab716e21e53c84a5ad62aa962a2a8f7db" title="Application-specific persistence functions must return this error code if there is a problem executin...">MQTTCLIENT_PERSISTENCE_ERROR</a> otherwise. </dd></dl>
|
|
<div class="dynheader">
|
|
Here is the call graph for this function:</div>
|
|
<div class="dyncontent">
|
|
<div class="center"><img src="MQTTPersistence_8c_a385b6c191dbf51652d3e3a81813848f1_cgraph.png" border="0" usemap="#MQTTPersistence_8c_a385b6c191dbf51652d3e3a81813848f1_cgraph" alt=""/></div>
|
|
<map name="MQTTPersistence_8c_a385b6c191dbf51652d3e3a81813848f1_cgraph" id="MQTTPersistence_8c_a385b6c191dbf51652d3e3a81813848f1_cgraph">
|
|
<area shape="rect" title="Close persistent store." alt="" coords="5,5,172,32"/>
|
|
<area shape="rect" href="MQTTPersistenceDefault_8c.html#a919cf4710a1f7d7ce0878599e9aa4700" title="Create persistence directory for the client: context/clientID-serverURI." alt="" coords="220,5,288,32"/>
|
|
<area shape="rect" href="MQTTPersistenceDefault_8c.html#aecfbfa761dfca1b551d9ade325f480b1" title="Function to create a directory." alt="" coords="336,5,408,32"/>
|
|
</map>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a75e756280e499db530896c5b74b8d3b5"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a75e756280e499db530896c5b74b8d3b5">◆ </a></span>MQTTPersistence_create()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int MQTTPersistence_create </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structMQTTClient__persistence.html">MQTTClient_persistence</a> ** </td>
|
|
<td class="paramname"><em>persistence</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>type</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">void * </td>
|
|
<td class="paramname"><em>pcontext</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Creates a <a class="el" href="structMQTTClient__persistence.html" title="A structure containing the function pointers to a persistence implementation and the context or state...">MQTTClient_persistence</a> structure representing a persistence implementation. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">persistence</td><td>the <a class="el" href="structMQTTClient__persistence.html" title="A structure containing the function pointers to a persistence implementation and the context or state...">MQTTClient_persistence</a> structure. </td></tr>
|
|
<tr><td class="paramname">type</td><td>the type of the persistence implementation. See <a class="el" href="MQTTClient_8c.html#a9a0518d9ca924d12c1329dbe3de5f2b6" title="This function creates an MQTT client ready for connection to the specified server and using the speci...">MQTTClient_create</a>. </td></tr>
|
|
<tr><td class="paramname">pcontext</td><td>the context for this persistence implementation. See <a class="el" href="MQTTClient_8c.html#a9a0518d9ca924d12c1329dbe3de5f2b6" title="This function creates an MQTT client ready for connection to the specified server and using the speci...">MQTTClient_create</a>. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>0 if success, <a class="el" href="MQTTClientPersistence_8h.html#ab716e21e53c84a5ad62aa962a2a8f7db" title="Application-specific persistence functions must return this error code if there is a problem executin...">MQTTCLIENT_PERSISTENCE_ERROR</a> otherwise. </dd></dl>
|
|
<div class="dynheader">
|
|
Here is the call graph for this function:</div>
|
|
<div class="dyncontent">
|
|
<div class="center"><img src="MQTTPersistence_8c_a75e756280e499db530896c5b74b8d3b5_cgraph.png" border="0" usemap="#MQTTPersistence_8c_a75e756280e499db530896c5b74b8d3b5_cgraph" alt=""/></div>
|
|
<map name="MQTTPersistence_8c_a75e756280e499db530896c5b74b8d3b5_cgraph" id="MQTTPersistence_8c_a75e756280e499db530896c5b74b8d3b5_cgraph">
|
|
<area shape="rect" title="Creates a MQTTClient_persistence structure representing a persistence implementation." alt="" coords="5,183,176,209"/>
|
|
<area shape="rect" href="MQTTPersistenceDefault_8c.html#a15b1457f7fd20dde1fd51ed434321e1a" title="Delete all the persisted message in the client persistence directory." alt="" coords="245,5,313,32"/>
|
|
<area shape="rect" href="MQTTPersistenceDefault_8c.html#a24f38d19ff3db61292d7b463e59174ef" title="Delete client persistence directory (if empty)." alt="" coords="243,56,314,83"/>
|
|
<area shape="rect" href="MQTTPersistenceDefault_8c.html#a2a55461def3359a2b0aff6b3bb0644ad" title="Returns whether if a wire message is persisted in the client persistence directory." alt="" coords="224,107,333,133"/>
|
|
<area shape="rect" href="MQTTPersistenceDefault_8c.html#a3aef9f9af29882fac9e76984e4c2954c" title="Retrieve a wire message from the client persistence directory." alt="" coords="249,157,308,184"/>
|
|
<area shape="rect" href="MQTTPersistenceDefault_8c.html#a9f358375b8e254983d00f8b057e97dd6" title="Returns the keys (file names w/o the extension) in the client persistence directory." alt="" coords="245,208,312,235"/>
|
|
<area shape="rect" href="MQTTPersistenceDefault_8c.html#a919cf4710a1f7d7ce0878599e9aa4700" title="Create persistence directory for the client: context/clientID-serverURI." alt="" coords="245,259,313,285"/>
|
|
<area shape="rect" href="MQTTPersistenceDefault_8c.html#a64e0c1a2fd06375b975d6643175572d8" title="Write wire message to the client persistence directory." alt="" coords="249,309,308,336"/>
|
|
<area shape="rect" href="MQTTPersistenceDefault_8c.html#a64b106b9a2778f97d271af7c9a7940f2" title="Delete a persisted message from the client persistence directory." alt="" coords="381,335,464,361"/>
|
|
<area shape="rect" href="MQTTPersistenceDefault_8c.html#aecfbfa761dfca1b551d9ade325f480b1" title="Function to create a directory." alt="" coords="387,259,459,285"/>
|
|
</map>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a65b64467da967b6930966b98f249406e"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a65b64467da967b6930966b98f249406e">◆ </a></span>MQTTPersistence_initialize()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int MQTTPersistence_initialize </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structClients.html">Clients</a> * </td>
|
|
<td class="paramname"><em>c</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">const char * </td>
|
|
<td class="paramname"><em>serverURI</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Open persistent store and restore any persisted messages. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">client</td><td>the client as <a class="el" href="structClients.html" title="Data related to one client.">Clients</a>. </td></tr>
|
|
<tr><td class="paramname">serverURI</td><td>the URI of the remote end. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>0 if success, <a class="el" href="MQTTClientPersistence_8h.html#ab716e21e53c84a5ad62aa962a2a8f7db" title="Application-specific persistence functions must return this error code if there is a problem executin...">MQTTCLIENT_PERSISTENCE_ERROR</a> otherwise. </dd></dl>
|
|
<div class="dynheader">
|
|
Here is the call graph for this function:</div>
|
|
<div class="dyncontent">
|
|
<div class="center"><img src="MQTTPersistence_8c_a65b64467da967b6930966b98f249406e_cgraph.png" border="0" usemap="#MQTTPersistence_8c_a65b64467da967b6930966b98f249406e_cgraph" alt=""/></div>
|
|
<map name="MQTTPersistence_8c_a65b64467da967b6930966b98f249406e_cgraph" id="MQTTPersistence_8c_a65b64467da967b6930966b98f249406e_cgraph">
|
|
<area shape="rect" title="Open persistent store and restore any persisted messages." alt="" coords="5,169,187,196"/>
|
|
<area shape="rect" href="MQTTPersistence_8c.html#a3e607d17e088a493097af07e9c7b0006" title="Restores the persisted records to the outbound and inbound message queues of the client." alt="" coords="235,169,457,196"/>
|
|
<area shape="rect" href="LinkedList_8c.html#abc7a28449893dfa775c2f709349968b4" title="Append an item to a list." alt="" coords="1024,52,1112,78"/>
|
|
<area shape="rect" href="Log_8c.html#a669722e3f57811871f97c12392aba85d" title="Log a message." alt="" coords="591,220,635,246"/>
|
|
<area shape="rect" href="MQTTPacket_8c.html#a642e5f62d21f14e81f8fc70b491d89c8" title="Free allocated storage for a publish packet." alt="" coords="527,270,699,297"/>
|
|
<area shape="rect" href="MQTTPersistence_8c.html#a568adcd6ad3542d6f631a7f7a2e682e5" title="Inserts the specified message into the list, maintaining message ID order." alt="" coords="524,103,703,144"/>
|
|
<area shape="rect" href="MQTTPersistence_8c.html#a6bc55eebf10d7a7f7e2849b3e33716d1" title="Returns a MQTT packet restored from persisted data." alt="" coords="505,321,721,348"/>
|
|
<area shape="rect" href="MQTTPersistence_8c.html#adbf5881a3c6ce9bd7062182dfffe27fa" title="Checks whether the message IDs wrapped by looking for the largest gap between two consecutive message..." alt="" coords="513,169,714,196"/>
|
|
<area shape="rect" href="MQTTProtocolClient_8c.html#afbf121be11a48fcda3e0d639bc47472b" title="Copy and store message data for retries." alt="" coords="512,52,715,78"/>
|
|
<area shape="rect" href="LinkedList_8c.html#a321a3598d6979c7af3f995b77ea2cec3" title="Append an already allocated ListElement and content to a list." alt="" coords="1160,81,1303,108"/>
|
|
<area shape="rect" href="LinkedList_8c.html#aabca387fa4b86475bc9e4da40c3977fc" title="Insert an item to a list at a specific position." alt="" coords="1029,106,1107,133"/>
|
|
<area shape="rect" href="LinkedList_8c.html#a7c6fba7f4b569c69829676bed2852ee9" title="Forward iteration through a list." alt="" coords="813,164,932,190"/>
|
|
<area shape="rect" href="MQTTProtocolClient_8c.html#ac753a3ad12292a0a9c2f4343bd33817e" title="Store message data for possible retry." alt="" coords="769,52,976,78"/>
|
|
</map>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a568adcd6ad3542d6f631a7f7a2e682e5"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a568adcd6ad3542d6f631a7f7a2e682e5">◆ </a></span>MQTTPersistence_insertInOrder()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void MQTTPersistence_insertInOrder </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structList.html">List</a> * </td>
|
|
<td class="paramname"><em>list</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">void * </td>
|
|
<td class="paramname"><em>content</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">size_t </td>
|
|
<td class="paramname"><em>size</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Inserts the specified message into the list, maintaining message ID order. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">list</td><td>the list to insert the message into. </td></tr>
|
|
<tr><td class="paramname">content</td><td>the message to add. </td></tr>
|
|
<tr><td class="paramname">size</td><td>size of the message. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<div class="dynheader">
|
|
Here is the call graph for this function:</div>
|
|
<div class="dyncontent">
|
|
<div class="center"><img src="MQTTPersistence_8c_a568adcd6ad3542d6f631a7f7a2e682e5_cgraph.png" border="0" usemap="#MQTTPersistence_8c_a568adcd6ad3542d6f631a7f7a2e682e5_cgraph" alt=""/></div>
|
|
<map name="MQTTPersistence_8c_a568adcd6ad3542d6f631a7f7a2e682e5_cgraph" id="MQTTPersistence_8c_a568adcd6ad3542d6f631a7f7a2e682e5_cgraph">
|
|
<area shape="rect" title="Inserts the specified message into the list, maintaining message ID order." alt="" coords="5,23,184,65"/>
|
|
<area shape="rect" href="LinkedList_8c.html#aabca387fa4b86475bc9e4da40c3977fc" title="Insert an item to a list at a specific position." alt="" coords="253,5,330,32"/>
|
|
<area shape="rect" href="LinkedList_8c.html#a7c6fba7f4b569c69829676bed2852ee9" title="Forward iteration through a list." alt="" coords="232,56,351,83"/>
|
|
<area shape="rect" href="LinkedList_8c.html#a321a3598d6979c7af3f995b77ea2cec3" title="Append an already allocated ListElement and content to a list." alt="" coords="399,5,541,32"/>
|
|
</map>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a879b91862bb099e16ca81e57ba36e3fe"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a879b91862bb099e16ca81e57ba36e3fe">◆ </a></span>MQTTPersistence_putPacket()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int MQTTPersistence_putPacket </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>socket</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">char * </td>
|
|
<td class="paramname"><em>buf0</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">size_t </td>
|
|
<td class="paramname"><em>buf0len</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>count</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">char ** </td>
|
|
<td class="paramname"><em>buffers</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">size_t * </td>
|
|
<td class="paramname"><em>buflens</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>htype</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>msgId</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>scr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>MQTTVersion</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Adds a record to the persistent store. </p>
|
|
<p>This function must not be called for QoS0 messages. </p><dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">socket</td><td>the socket of the client. </td></tr>
|
|
<tr><td class="paramname">buf0</td><td>fixed header. </td></tr>
|
|
<tr><td class="paramname">buf0len</td><td>length of the fixed header. </td></tr>
|
|
<tr><td class="paramname">count</td><td>number of buffers representing the variable header and/or the payload. </td></tr>
|
|
<tr><td class="paramname">buffers</td><td>the buffers representing the variable header and/or the payload. </td></tr>
|
|
<tr><td class="paramname">buflens</td><td>length of the buffers representing the variable header and/or the payload. </td></tr>
|
|
<tr><td class="paramname">htype</td><td>MQTT packet type - PUBLISH or PUBREL </td></tr>
|
|
<tr><td class="paramname">msgId</td><td>the message ID. </td></tr>
|
|
<tr><td class="paramname">scr</td><td>0 indicates message in the sending direction; 1 indicates message in the receiving direction. </td></tr>
|
|
<tr><td class="paramname">the</td><td>MQTT version being used (>= MQTTVERSION_5 means properties included) </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>0 if success, <a class="el" href="MQTTClientPersistence_8h.html#ab716e21e53c84a5ad62aa962a2a8f7db" title="Application-specific persistence functions must return this error code if there is a problem executin...">MQTTCLIENT_PERSISTENCE_ERROR</a> otherwise. </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="aba48f1a44c540fa37bca207cae3cbbd3"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aba48f1a44c540fa37bca207cae3cbbd3">◆ </a></span>MQTTPersistence_remove()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int MQTTPersistence_remove </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structClients.html">Clients</a> * </td>
|
|
<td class="paramname"><em>c</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">char * </td>
|
|
<td class="paramname"><em>type</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>qos</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>msgId</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Deletes a record from the persistent store. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">client</td><td>the client as <a class="el" href="structClients.html" title="Data related to one client.">Clients</a>. </td></tr>
|
|
<tr><td class="paramname">type</td><td>the type of the persisted record: #PERSISTENCE_PUBLISH_SENT, #PERSISTENCE_PUBREL or #PERSISTENCE_PUBLISH_RECEIVED. </td></tr>
|
|
<tr><td class="paramname">qos</td><td>the qos field of the message. </td></tr>
|
|
<tr><td class="paramname">msgId</td><td>the message ID. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>0 if success, <a class="el" href="MQTTClientPersistence_8h.html#ab716e21e53c84a5ad62aa962a2a8f7db" title="Application-specific persistence functions must return this error code if there is a problem executin...">MQTTCLIENT_PERSISTENCE_ERROR</a> otherwise. </dd></dl>
|
|
<div class="dynheader">
|
|
Here is the call graph for this function:</div>
|
|
<div class="dyncontent">
|
|
<div class="center"><img src="MQTTPersistence_8c_aba48f1a44c540fa37bca207cae3cbbd3_cgraph.png" border="0" usemap="#MQTTPersistence_8c_aba48f1a44c540fa37bca207cae3cbbd3_cgraph" alt=""/></div>
|
|
<map name="MQTTPersistence_8c_aba48f1a44c540fa37bca207cae3cbbd3_cgraph" id="MQTTPersistence_8c_aba48f1a44c540fa37bca207cae3cbbd3_cgraph">
|
|
<area shape="rect" title="Deletes a record from the persistent store." alt="" coords="5,5,184,32"/>
|
|
<area shape="rect" href="Log_8c.html#a669722e3f57811871f97c12392aba85d" title="Log a message." alt="" coords="232,5,276,32"/>
|
|
</map>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ab4f6437946ac80d5f9e882e92e59cc5c"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ab4f6437946ac80d5f9e882e92e59cc5c">◆ </a></span>MQTTPersistence_restoreMessageQueue()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int MQTTPersistence_restoreMessageQueue </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structClients.html">Clients</a> * </td>
|
|
<td class="paramname"><em>c</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Restores a queue of messages from persistence to memory. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">c</td><td>the client as <a class="el" href="structClients.html" title="Data related to one client.">Clients</a> - the client object to restore the messages to </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>return code, 0 if successful </dd></dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a6bc55eebf10d7a7f7e2849b3e33716d1"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a6bc55eebf10d7a7f7e2849b3e33716d1">◆ </a></span>MQTTPersistence_restorePacket()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void* MQTTPersistence_restorePacket </td>
|
|
<td>(</td>
|
|
<td class="paramtype">int </td>
|
|
<td class="paramname"><em>MQTTVersion</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">char * </td>
|
|
<td class="paramname"><em>buffer</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">size_t </td>
|
|
<td class="paramname"><em>buflen</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Returns a MQTT packet restored from persisted data. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">buffer</td><td>the persisted data. </td></tr>
|
|
<tr><td class="paramname">buflen</td><td>the number of bytes of the data buffer. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a3e607d17e088a493097af07e9c7b0006"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a3e607d17e088a493097af07e9c7b0006">◆ </a></span>MQTTPersistence_restorePackets()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int MQTTPersistence_restorePackets </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structClients.html">Clients</a> * </td>
|
|
<td class="paramname"><em>c</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Restores the persisted records to the outbound and inbound message queues of the client. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">client</td><td>the client as <a class="el" href="structClients.html" title="Data related to one client.">Clients</a>. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>0 if success, <a class="el" href="MQTTClientPersistence_8h.html#ab716e21e53c84a5ad62aa962a2a8f7db" title="Application-specific persistence functions must return this error code if there is a problem executin...">MQTTCLIENT_PERSISTENCE_ERROR</a> otherwise. </dd></dl>
|
|
<div class="dynheader">
|
|
Here is the call graph for this function:</div>
|
|
<div class="dyncontent">
|
|
<div class="center"><img src="MQTTPersistence_8c_a3e607d17e088a493097af07e9c7b0006_cgraph.png" border="0" usemap="#MQTTPersistence_8c_a3e607d17e088a493097af07e9c7b0006_cgraph" alt=""/></div>
|
|
<map name="MQTTPersistence_8c_a3e607d17e088a493097af07e9c7b0006_cgraph" id="MQTTPersistence_8c_a3e607d17e088a493097af07e9c7b0006_cgraph">
|
|
<area shape="rect" title="Restores the persisted records to the outbound and inbound message queues of the client." alt="" coords="5,169,228,196"/>
|
|
<area shape="rect" href="LinkedList_8c.html#abc7a28449893dfa775c2f709349968b4" title="Append an item to a list." alt="" coords="795,52,883,78"/>
|
|
<area shape="rect" href="Log_8c.html#a669722e3f57811871f97c12392aba85d" title="Log a message." alt="" coords="362,220,406,246"/>
|
|
<area shape="rect" href="MQTTPacket_8c.html#a642e5f62d21f14e81f8fc70b491d89c8" title="Free allocated storage for a publish packet." alt="" coords="298,270,470,297"/>
|
|
<area shape="rect" href="MQTTPersistence_8c.html#a568adcd6ad3542d6f631a7f7a2e682e5" title="Inserts the specified message into the list, maintaining message ID order." alt="" coords="295,103,473,144"/>
|
|
<area shape="rect" href="MQTTPersistence_8c.html#a6bc55eebf10d7a7f7e2849b3e33716d1" title="Returns a MQTT packet restored from persisted data." alt="" coords="276,321,492,348"/>
|
|
<area shape="rect" href="MQTTPersistence_8c.html#adbf5881a3c6ce9bd7062182dfffe27fa" title="Checks whether the message IDs wrapped by looking for the largest gap between two consecutive message..." alt="" coords="283,169,485,196"/>
|
|
<area shape="rect" href="MQTTProtocolClient_8c.html#afbf121be11a48fcda3e0d639bc47472b" title="Copy and store message data for retries." alt="" coords="283,52,485,78"/>
|
|
<area shape="rect" href="LinkedList_8c.html#a321a3598d6979c7af3f995b77ea2cec3" title="Append an already allocated ListElement and content to a list." alt="" coords="931,81,1073,108"/>
|
|
<area shape="rect" href="LinkedList_8c.html#aabca387fa4b86475bc9e4da40c3977fc" title="Insert an item to a list at a specific position." alt="" coords="800,106,877,133"/>
|
|
<area shape="rect" href="LinkedList_8c.html#a7c6fba7f4b569c69829676bed2852ee9" title="Forward iteration through a list." alt="" coords="584,164,703,190"/>
|
|
<area shape="rect" href="MQTTProtocolClient_8c.html#ac753a3ad12292a0a9c2f4343bd33817e" title="Store message data for possible retry." alt="" coords="540,52,747,78"/>
|
|
</map>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="adbf5881a3c6ce9bd7062182dfffe27fa"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#adbf5881a3c6ce9bd7062182dfffe27fa">◆ </a></span>MQTTPersistence_wrapMsgID()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">void MQTTPersistence_wrapMsgID </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="structClients.html">Clients</a> * </td>
|
|
<td class="paramname"><em>client</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Checks whether the message IDs wrapped by looking for the largest gap between two consecutive message IDs in the outboundMsgs queue. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">client</td><td>the client as <a class="el" href="structClients.html" title="Data related to one client.">Clients</a>. </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<div class="dynheader">
|
|
Here is the call graph for this function:</div>
|
|
<div class="dyncontent">
|
|
<div class="center"><img src="MQTTPersistence_8c_adbf5881a3c6ce9bd7062182dfffe27fa_cgraph.png" border="0" usemap="#MQTTPersistence_8c_adbf5881a3c6ce9bd7062182dfffe27fa_cgraph" alt=""/></div>
|
|
<map name="MQTTPersistence_8c_adbf5881a3c6ce9bd7062182dfffe27fa_cgraph" id="MQTTPersistence_8c_adbf5881a3c6ce9bd7062182dfffe27fa_cgraph">
|
|
<area shape="rect" title="Checks whether the message IDs wrapped by looking for the largest gap between two consecutive message..." alt="" coords="5,5,207,32"/>
|
|
<area shape="rect" href="LinkedList_8c.html#a7c6fba7f4b569c69829676bed2852ee9" title="Forward iteration through a list." alt="" coords="255,5,373,32"/>
|
|
</map>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
</div><!-- contents -->
|
|
<!-- start footer part -->
|
|
<hr class="footer"/><address class="footer"><small>
|
|
Generated on Sat Nov 21 2020 00:15:30 for MQTT C Client Libraries Internals by  <a href="http://www.doxygen.org/index.html">
|
|
<img class="footer" src="doxygen.png" alt="doxygen"/>
|
|
</a> 1.8.17
|
|
</small></address>
|
|
</body>
|
|
</html>
|