1
0
mirror of https://github.com/FreeRTOS/coreMQTT synced 2025-06-05 11:25:56 +08:00
coreMQTT/v1.1.2/core_mqtt_config.html
Archit Gupta b52869ae0f
Add old doxygen bundles to gh-pages (#185)
* Add historical doxygen bundles

* Update gh-pages doxygen index page configuration
2021-12-22 11:13:30 -08:00

170 lines
17 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=11"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>coreMQTT: Configurations</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&amp;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 style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">coreMQTT<span id="projectnumber">&#160;v1.1.2</span>
</div>
<div id="projectbrief">MQTT 3.1.1 Client Library</div>
</td>
<td> <div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.svg"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="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.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search",'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&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('core_mqtt_config.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">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div><div class="header">
<div class="headertitle"><div class="title">Configurations </div></div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p >Configurations of the MQTT Library.</p>
<dl class="section user"><dt>configpagestyle</dt><dd></dd></dl>
<p>Some configuration settings are C pre-processor constants, and some are function-like macros for logging. They can be set with a <code>#define</code> in the config file (<b>core_mqtt_config.h</b>) or by using a compiler option such as -D in gcc.</p>
<h1><a class="anchor" id="MQTT_DO_NOT_USE_CUSTOM_CONFIG"></a>
MQTT_DO_NOT_USE_CUSTOM_CONFIG</h1>
<p >Define this macro to build the MQTT library without the custom config file core_mqtt_config.h. Without the custom config, the MQTT library builds with default values of config macros defined in <a class="el" href="core__mqtt__config__defaults_8h.html" title="This represents the default values for the configuration macros for the MQTT library.">core_mqtt_config_defaults.h</a> file.</p>
<p >If a custom config is provided, then MQTT_DO_NOT_USE_CUSTOM_CONFIG should not be defined.</p>
<h1><a class="anchor" id="MQTT_STATE_ARRAY_MAX_COUNT"></a>
MQTT_STATE_ARRAY_MAX_COUNT</h1>
<p >Determines the maximum number of MQTT PUBLISH messages, pending acknowledgment at a time, that are supported for incoming and outgoing direction of messages, separately. QoS 1 and 2 MQTT PUBLISHes require acknowledgment from the server before they can be completed. While they are awaiting the acknowledgment, the client must maintain information about their state. The value of this macro sets the limit on how many simultaneous PUBLISH states an MQTT context maintains, separately, for both incoming and outgoing direction of PUBLISHes.</p>
<dl class="section note"><dt>Note</dt><dd>The MQTT context maintains separate state records for outgoing and incoming PUBLISHes, and thus, 2 * MQTT_STATE_ARRAY_MAX_COUNT amount of memory is statically allocated for the state records.</dd></dl>
<p><b>Possible values:</b> Any positive 32 bit integer. <br />
<b>Default value:</b> <code>10</code></p>
<h1><a class="anchor" id="MQTT_PINGRESP_TIMEOUT_MS"></a>
MQTT_PINGRESP_TIMEOUT_MS</h1>
<p >Maximum number of milliseconds to wait for a ping response to a ping request as part of the keep-alive mechanism. If a ping response is not received before this timeout, then <a class="el" href="core__mqtt_8h.html#adce9111350db412c1256689ef9a7b9f4" title="Loop to receive packets from the transport interface. Handles keep alive.">MQTT_ProcessLoop</a> will return <a class="el" href="group__mqtt__enum__types.html#ggaba7ec045874a1c3432f99173367f735ca076ca8965e836a06e707a94adb26144f">MQTTKeepAliveTimeout</a>.</p>
<dl class="section note"><dt>Note</dt><dd>If this value is more than half of the keep alive interval, and the server does not receive the previous ping request, then it is likely that the server will disconnect the client before <a class="el" href="group__mqtt__enum__types.html#ggaba7ec045874a1c3432f99173367f735ca076ca8965e836a06e707a94adb26144f">MQTTKeepAliveTimeout</a> can be returned.</dd>
<dd>
If a dummy implementation of the <a class="el" href="group__mqtt__callback__types.html#gae3bea55b0e49e5208b8c5709a5ea23aa" title="Application provided function to query the current time in milliseconds.">MQTTGetCurrentTimeFunc_t</a> timer function, is supplied to the library, then the keep-alive mechanism is not supported by the <a class="el" href="core__mqtt_8h.html#adce9111350db412c1256689ef9a7b9f4" title="Loop to receive packets from the transport interface. Handles keep alive.">MQTT_ProcessLoop</a> API function. In that case, the value of <a class="el" href="core__mqtt__config__defaults_8h.html#afa825fddb52da7df88fb56d2befcd2fa" title="Maximum number of milliseconds to wait for a ping response to a ping request as part of the keep-aliv...">MQTT_PINGRESP_TIMEOUT_MS</a> is irrelevant to the behavior of the library.</dd></dl>
<p><b>Possible values:</b> Any positive integer up to SIZE_MAX. <br />
<b>Default value:</b> <code>5000</code></p>
<h1><a class="anchor" id="MQTT_RECV_POLLING_TIMEOUT_MS"></a>
MQTT_RECV_POLLING_TIMEOUT_MS</h1>
<p >The maximum duration between non-empty network reads while receiving an MQTT packet via the <a class="el" href="core__mqtt_8h.html#adce9111350db412c1256689ef9a7b9f4" title="Loop to receive packets from the transport interface. Handles keep alive.">MQTT_ProcessLoop</a> or <a class="el" href="core__mqtt_8h.html#a274d7a62c9c011a063031c2e678fb40a" title="Loop to receive packets from the transport interface. Does not handle keep alive.">MQTT_ReceiveLoop</a> API functions. When an incoming MQTT packet is detected, the transport receive function may be called multiple times until all of the expected number of bytes of the packet are received. This timeout represents the maximum polling duration that is allowed without any data reception from the network for the incoming packet.</p>
<p >If the timeout expires, the <a class="el" href="core__mqtt_8h.html#adce9111350db412c1256689ef9a7b9f4" title="Loop to receive packets from the transport interface. Handles keep alive.">MQTT_ProcessLoop</a> and <a class="el" href="core__mqtt_8h.html#a274d7a62c9c011a063031c2e678fb40a" title="Loop to receive packets from the transport interface. Does not handle keep alive.">MQTT_ReceiveLoop</a> functions return <a class="el" href="group__mqtt__enum__types.html#ggaba7ec045874a1c3432f99173367f735caa14bc8aa4ad218702d782366945d43ac">MQTTRecvFailed</a>.</p>
<dl class="section note"><dt>Note</dt><dd>If a dummy implementation of the <a class="el" href="group__mqtt__callback__types.html#gae3bea55b0e49e5208b8c5709a5ea23aa" title="Application provided function to query the current time in milliseconds.">MQTTGetCurrentTimeFunc_t</a> timer function, is supplied to the library, then <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> MUST be set to 0.</dd></dl>
<p><b>Possible values:</b> Any positive 32 bit integer. Recommended to use a small timeout value. <br />
<b>Default value:</b> <code>10</code></p>
<h1><a class="anchor" id="MQTT_SEND_RETRY_TIMEOUT_MS"></a>
MQTT_SEND_RETRY_TIMEOUT_MS</h1>
<p >The maximum duration between non-empty network transmissions while sending an MQTT packet via the <a class="el" href="core__mqtt_8h.html#adce9111350db412c1256689ef9a7b9f4" title="Loop to receive packets from the transport interface. Handles keep alive.">MQTT_ProcessLoop</a> or <a class="el" href="core__mqtt_8h.html#a274d7a62c9c011a063031c2e678fb40a" title="Loop to receive packets from the transport interface. Does not handle keep alive.">MQTT_ReceiveLoop</a> API functions. When sending an MQTT packet, the transport send function may be called multiple times until all of the required number of bytes are sent. This timeout represents the maximum duration that is allowed for no data transmission over the network through the transport send function.</p>
<p >If the timeout expires, the <a class="el" href="core__mqtt_8h.html#adce9111350db412c1256689ef9a7b9f4" title="Loop to receive packets from the transport interface. Handles keep alive.">MQTT_ProcessLoop</a> and <a class="el" href="core__mqtt_8h.html#a274d7a62c9c011a063031c2e678fb40a" title="Loop to receive packets from the transport interface. Does not handle keep alive.">MQTT_ReceiveLoop</a> functions return <a class="el" href="group__mqtt__enum__types.html#ggaba7ec045874a1c3432f99173367f735cafd06b63fe9677fa2af06b0f4c7d4ad55">MQTTSendFailed</a>.</p>
<dl class="section note"><dt>Note</dt><dd>If a dummy implementation of the <a class="el" href="group__mqtt__callback__types.html#gae3bea55b0e49e5208b8c5709a5ea23aa" title="Application provided function to query the current time in milliseconds.">MQTTGetCurrentTimeFunc_t</a> timer function, is supplied to the library, then <a class="el" href="core__mqtt__config__defaults_8h.html#a73228316a06bbbb91c931dbade56de35" title="The maximum duration between non-empty network transmissions while sending an MQTT packet via the MQT...">MQTT_SEND_RETRY_TIMEOUT_MS</a> MUST be set to 0.</dd></dl>
<p><b>Possible values:</b> Any positive 32 bit integer. Recommended to use a small timeout value. <br />
<b>Default value:</b> <code>10</code></p>
<h1><a class="anchor" id="MQTT_MAX_CONNACK_RECEIVE_RETRY_COUNT"></a>
MQTT_MAX_CONNACK_RECEIVE_RETRY_COUNT</h1>
<p >The number of retries for receiving CONNACK. The MQTT_MAX_CONNACK_RECEIVE_RETRY_COUNT will be used only when the timeoutMs parameter of <a class="el" href="core__mqtt_8h.html#aed1e4dc123a8ba79ac569cb17c69bfa0" title="Establish an MQTT session.">MQTT_Connect</a> is passed as 0 . The transport receive for CONNACK will be retried MQTT_MAX_CONNACK_RECEIVE_RETRY_COUNT times before timing out. A value of 0 for this config will cause the transport receive for CONNACK to be invoked only once.</p>
<p ><b>Possible values:</b> Any positive 16 bit integer. <br />
<b>Default value:</b> <code>5</code></p>
<h1><a class="anchor" id="mqtt_logerror"></a>
LogError</h1>
<p >Macro that is called in the MQTT library for logging "Error" level messages. To enable error level logging in the MQTT library, this macro should be mapped to the application-specific logging implementation that supports error logging.</p>
<dl class="section note"><dt>Note</dt><dd>This logging macro is called in the MQTT library with parameters wrapped in double parentheses to be ISO C89/C90 standard compliant. For a reference POSIX implementation of the logging macros, refer to core_mqtt_config.h files, and the logging-stack in demos folder of the <a href="https://github.com/aws/aws-iot-device-sdk-embedded-C">AWS IoT Embedded C SDK repository</a>.</dd></dl>
<p><b>Default value</b>: Error logging is turned off, and no code is generated for calls to the macro in the MQTT library on compilation.</p>
<h1><a class="anchor" id="mqtt_logwarn"></a>
LogWarn</h1>
<p >Macro that is called in the MQTT library for logging "Warning" level messages. To enable warning level logging in the MQTT library, this macro should be mapped to the application-specific logging implementation that supports warning logging.</p>
<dl class="section note"><dt>Note</dt><dd>This logging macro is called in the MQTT library with parameters wrapped in double parentheses to be ISO C89/C90 standard compliant. For a reference POSIX implementation of the logging macros, refer to core_mqtt_config.h files, and the logging-stack in demos folder of the <a href="https://github.com/aws/aws-iot-device-sdk-embedded-C/">AWS IoT Embedded C SDK repository</a>.</dd></dl>
<p><b>Default value</b>: Warning logs are turned off, and no code is generated for calls to the macro in the MQTT library on compilation.</p>
<h1><a class="anchor" id="mqtt_loginfo"></a>
LogInfo</h1>
<p >Macro that is called in the MQTT library for logging "Info" level messages. To enable info level logging in the MQTT library, this macro should be mapped to the application-specific logging implementation that supports info logging.</p>
<dl class="section note"><dt>Note</dt><dd>This logging macro is called in the MQTT library with parameters wrapped in double parentheses to be ISO C89/C90 standard compliant. For a reference POSIX implementation of the logging macros, refer to core_mqtt_config.h files, and the logging-stack in demos folder of the <a href="https://github.com/aws/aws-iot-device-sdk-embedded-C/">AWS IoT Embedded C SDK repository</a>.</dd></dl>
<p><b>Default value</b>: Info logging is turned off, and no code is generated for calls to the macro in the MQTT library on compilation.</p>
<h1><a class="anchor" id="mqtt_logdebug"></a>
LogDebug</h1>
<p >Macro that is called in the MQTT library for logging "Debug" level messages. To enable debug level logging from MQTT library, this macro should be mapped to the application-specific logging implementation that supports debug logging.</p>
<dl class="section note"><dt>Note</dt><dd>This logging macro is called in the MQTT library with parameters wrapped in double parentheses to be ISO C89/C90 standard compliant. For a reference POSIX implementation of the logging macros, refer to core_mqtt_config.h files, and the logging-stack in demos folder of the <a href="https://github.com/aws/aws-iot-device-sdk-embedded-C/">AWS IoT Embedded C SDK repository</a>.</dd></dl>
<p><b>Default value</b>: Debug logging is turned off, and no code is generated for calls to the macro in the MQTT library on compilation. </p>
</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.2 </li>
</ul>
</div>
</body>
</html>