9fa41a32314167eb2875f3c393eb0bd1ba83958c
[m6w6/libmemcached] / libmemcached / memcached_set.html
1
2
3 <!DOCTYPE html>
4 <html class="writer-html5" lang="en" >
5 <head>
6 <meta charset="utf-8">
7
8 <meta name="viewport" content="width=device-width, initial-scale=1.0">
9
10 <title>Storing data on the server &mdash; libmemcached 1.0.99 documentation</title>
11
12
13
14 <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
15 <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
16
17
18
19
20
21
22
23 <!--[if lt IE 9]>
24 <script src="../_static/js/html5shiv.min.js"></script>
25 <![endif]-->
26
27
28 <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
29 <script src="../_static/jquery.js"></script>
30 <script src="../_static/underscore.js"></script>
31 <script src="../_static/doctools.js"></script>
32 <script src="../_static/language_data.js"></script>
33
34 <script type="text/javascript" src="../_static/js/theme.js"></script>
35
36
37 <link rel="index" title="Index" href="../genindex.html" />
38 <link rel="search" title="Search" href="../search.html" />
39 <link rel="copyright" title="Copyright" href="../copyright.html" />
40 <link rel="next" title="Deleting data from a server" href="memcached_delete.html" />
41 <link rel="prev" title="Retrieving data from the server" href="memcached_get.html" />
42 </head>
43
44 <body class="wy-body-for-nav">
45
46
47 <div class="wy-grid-for-nav">
48
49 <nav data-toggle="wy-nav-shift" class="wy-nav-side">
50 <div class="wy-side-scroll">
51 <div class="wy-side-nav-search" >
52
53
54
55 <a href="../index.html" class="icon icon-home" alt="Documentation Home"> libmemcached
56
57
58
59 </a>
60
61
62
63
64 <div class="version">
65 1.0
66 </div>
67
68
69
70
71 <div role="search">
72 <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
73 <input type="text" name="q" placeholder="Search docs" />
74 <input type="hidden" name="check_keywords" value="yes" />
75 <input type="hidden" name="area" value="default" />
76 </form>
77 </div>
78
79
80 </div>
81
82
83 <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
84
85
86
87
88
89
90 <p class="caption"><span class="caption-text">libmemcached</span></p>
91 <ul class="current">
92 <li class="toctree-l1"><a class="reference internal" href="../libmemcached.html">Introduction</a></li>
93 <li class="toctree-l1 current"><a class="reference internal" href="index.html">libmemcached API</a><ul class="current">
94 <li class="toctree-l2 current"><a class="reference internal" href="index_basics.html">Basics</a><ul class="current">
95 <li class="toctree-l3"><a class="reference internal" href="memcached_create.html">Creating and destroying a memcached_st</a></li>
96 <li class="toctree-l3"><a class="reference internal" href="memcached_get.html">Retrieving data from the server</a></li>
97 <li class="toctree-l3 current"><a class="current reference internal" href="#">Storing data on the server</a></li>
98 <li class="toctree-l3"><a class="reference internal" href="memcached_delete.html">Deleting data from a server</a></li>
99 <li class="toctree-l3"><a class="reference internal" href="memcached_quit.html">Disconnecting a client from a server</a></li>
100 </ul>
101 </li>
102 <li class="toctree-l2"><a class="reference internal" href="index_data.html">Working with Data</a></li>
103 <li class="toctree-l2"><a class="reference internal" href="index_errors.html">Messages and Errors</a></li>
104 <li class="toctree-l2"><a class="reference internal" href="index_advanced.html">Advanced Topics</a></li>
105 <li class="toctree-l2"><a class="reference internal" href="index_deprecated.html">Deprecated Functionality</a></li>
106 </ul>
107 </li>
108 <li class="toctree-l1"><a class="reference internal" href="index_misc.html">Misc</a></li>
109 </ul>
110 <p class="caption"><span class="caption-text">libmemcachedutil</span></p>
111 <ul>
112 <li class="toctree-l1"><a class="reference internal" href="../libmemcachedutil.html">Introduction</a></li>
113 <li class="toctree-l1"><a class="reference internal" href="../libmemcachedutil/index.html">libmemcachedutil API</a></li>
114 </ul>
115 <p class="caption"><span class="caption-text">libhashkit</span></p>
116 <ul>
117 <li class="toctree-l1"><a class="reference internal" href="../libhashkit.html">Introduction</a></li>
118 <li class="toctree-l1"><a class="reference internal" href="../libhashkit/index.html">libhashkit API</a></li>
119 </ul>
120 <p class="caption"><span class="caption-text">Client Applications</span></p>
121 <ul>
122 <li class="toctree-l1"><a class="reference internal" href="../bin/index.html">Client Applications</a></li>
123 </ul>
124 <p class="caption"><span class="caption-text">Copyright</span></p>
125 <ul>
126 <li class="toctree-l1"><a class="reference internal" href="../copyright.html">Copyright</a></li>
127 </ul>
128
129
130
131 </div>
132
133 </div>
134 </nav>
135
136 <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
137
138
139 <nav class="wy-nav-top" aria-label="top navigation">
140
141 <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
142 <a href="../index.html">libmemcached</a>
143
144 </nav>
145
146
147 <div class="wy-nav-content">
148
149 <div class="rst-content">
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167 <div role="navigation" aria-label="breadcrumbs navigation">
168
169 <ul class="wy-breadcrumbs">
170
171 <li><a href="../index.html" class="icon icon-home"></a> &raquo;</li>
172
173 <li><a href="index.html">libmemcached API</a> &raquo;</li>
174
175 <li><a href="index_basics.html">Basics</a> &raquo;</li>
176
177 <li>Storing data on the server</li>
178
179
180 <li class="wy-breadcrumbs-aside">
181
182
183
184 </li>
185
186 </ul>
187
188
189 <hr/>
190 </div>
191 <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
192 <div itemprop="articleBody">
193
194 <div class="section" id="storing-data-on-the-server">
195 <h1>Storing data on the server<a class="headerlink" href="#storing-data-on-the-server" title="Permalink to this headline"></a></h1>
196 <div class="section" id="synopsis">
197 <span id="index-0"></span><h2>SYNOPSIS<a class="headerlink" href="#synopsis" title="Permalink to this headline"></a></h2>
198 <dl class="simple">
199 <dt>#include &lt;libmemcached/memcached.h&gt;</dt><dd><p>Compile and link with -lmemcached</p>
200 </dd>
201 </dl>
202 <dl class="cpp function">
203 <dt id="_CPPv413memcached_setP12memcached_stPKc6size_tPKc6size_t6time_t8uint32_t">
204 <span id="_CPPv313memcached_setP12memcached_stPKc6size_tPKc6size_t6time_t8uint32_t"></span><span id="_CPPv213memcached_setP12memcached_stPKc6size_tPKc6size_t6time_t8uint32_t"></span><span id="memcached_set__memcached_stP.cCP.s.cCP.s.time_t.uint32_t"></span><a class="reference internal" href="memcached_return_t.html#_CPPv418memcached_return_t" title="memcached_return_t">memcached_return_t</a> <code class="sig-name descname">memcached_set</code><span class="sig-paren">(</span><a class="reference internal" href="memcached_create.html#_CPPv412memcached_st" title="memcached_st">memcached_st</a> *<em>ptr</em>, <em class="property">const</em> char *<em>key</em>, size_t <em>key_length</em>, <em class="property">const</em> char *<em>value</em>, size_t <em>value_length</em>, time_t <em>expiration</em>, uint32_t <em>flags</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv413memcached_setP12memcached_stPKc6size_tPKc6size_t6time_t8uint32_t" title="Permalink to this definition"></a><br /></dt>
205 <dd></dd></dl>
206
207 <dl class="cpp function">
208 <dt id="_CPPv413memcached_addP12memcached_stPKc6size_tPKc6size_t6time_t8uint32_t">
209 <span id="_CPPv313memcached_addP12memcached_stPKc6size_tPKc6size_t6time_t8uint32_t"></span><span id="_CPPv213memcached_addP12memcached_stPKc6size_tPKc6size_t6time_t8uint32_t"></span><span id="memcached_add__memcached_stP.cCP.s.cCP.s.time_t.uint32_t"></span><a class="reference internal" href="memcached_return_t.html#_CPPv418memcached_return_t" title="memcached_return_t">memcached_return_t</a> <code class="sig-name descname">memcached_add</code><span class="sig-paren">(</span><a class="reference internal" href="memcached_create.html#_CPPv412memcached_st" title="memcached_st">memcached_st</a> *<em>ptr</em>, <em class="property">const</em> char *<em>key</em>, size_t <em>key_length</em>, <em class="property">const</em> char *<em>value</em>, size_t <em>value_length</em>, time_t <em>expiration</em>, uint32_t <em>flags</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv413memcached_addP12memcached_stPKc6size_tPKc6size_t6time_t8uint32_t" title="Permalink to this definition"></a><br /></dt>
210 <dd></dd></dl>
211
212 <dl class="cpp function">
213 <dt id="_CPPv417memcached_replaceP12memcached_stPKc6size_tPKc6size_t6time_t8uint32_t">
214 <span id="_CPPv317memcached_replaceP12memcached_stPKc6size_tPKc6size_t6time_t8uint32_t"></span><span id="_CPPv217memcached_replaceP12memcached_stPKc6size_tPKc6size_t6time_t8uint32_t"></span><span id="memcached_replace__memcached_stP.cCP.s.cCP.s.time_t.uint32_t"></span><a class="reference internal" href="memcached_return_t.html#_CPPv418memcached_return_t" title="memcached_return_t">memcached_return_t</a> <code class="sig-name descname">memcached_replace</code><span class="sig-paren">(</span><a class="reference internal" href="memcached_create.html#_CPPv412memcached_st" title="memcached_st">memcached_st</a> *<em>ptr</em>, <em class="property">const</em> char *<em>key</em>, size_t <em>key_length</em>, <em class="property">const</em> char *<em>value</em>, size_t <em>value_length</em>, time_t <em>expiration</em>, uint32_t <em>flags</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv417memcached_replaceP12memcached_stPKc6size_tPKc6size_t6time_t8uint32_t" title="Permalink to this definition"></a><br /></dt>
215 <dd></dd></dl>
216
217 <dl class="cpp function">
218 <dt id="_CPPv420memcached_set_by_keyP12memcached_stPKc6size_tPKc6size_tPKc6size_t6time_t8uint32_t">
219 <span id="_CPPv320memcached_set_by_keyP12memcached_stPKc6size_tPKc6size_tPKc6size_t6time_t8uint32_t"></span><span id="_CPPv220memcached_set_by_keyP12memcached_stPKc6size_tPKc6size_tPKc6size_t6time_t8uint32_t"></span><span id="memcached_set_by_key__memcached_stP.cCP.s.cCP.s.cCP.s.time_t.uint32_t"></span><a class="reference internal" href="memcached_return_t.html#_CPPv418memcached_return_t" title="memcached_return_t">memcached_return_t</a> <code class="sig-name descname">memcached_set_by_key</code><span class="sig-paren">(</span><a class="reference internal" href="memcached_create.html#_CPPv412memcached_st" title="memcached_st">memcached_st</a> *<em>ptr</em>, <em class="property">const</em> char *<em>group_key</em>, size_t <em>group_key_length</em>, <em class="property">const</em> char *<em>key</em>, size_t <em>key_length</em>, <em class="property">const</em> char *<em>value</em>, size_t <em>value_length</em>, time_t <em>expiration</em>, uint32_t <em>flags</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv420memcached_set_by_keyP12memcached_stPKc6size_tPKc6size_tPKc6size_t6time_t8uint32_t" title="Permalink to this definition"></a><br /></dt>
220 <dd></dd></dl>
221
222 <dl class="cpp function">
223 <dt id="_CPPv420memcached_add_by_keyP12memcached_stPKc6size_tPKc6size_tPKc6size_t6time_t8uint32_t">
224 <span id="_CPPv320memcached_add_by_keyP12memcached_stPKc6size_tPKc6size_tPKc6size_t6time_t8uint32_t"></span><span id="_CPPv220memcached_add_by_keyP12memcached_stPKc6size_tPKc6size_tPKc6size_t6time_t8uint32_t"></span><span id="memcached_add_by_key__memcached_stP.cCP.s.cCP.s.cCP.s.time_t.uint32_t"></span><a class="reference internal" href="memcached_return_t.html#_CPPv418memcached_return_t" title="memcached_return_t">memcached_return_t</a> <code class="sig-name descname">memcached_add_by_key</code><span class="sig-paren">(</span><a class="reference internal" href="memcached_create.html#_CPPv412memcached_st" title="memcached_st">memcached_st</a> *<em>ptr</em>, <em class="property">const</em> char *<em>group_key</em>, size_t <em>group_key_length</em>, <em class="property">const</em> char *<em>key</em>, size_t <em>key_length</em>, <em class="property">const</em> char *<em>value</em>, size_t <em>value_length</em>, time_t <em>expiration</em>, uint32_t <em>flags</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv420memcached_add_by_keyP12memcached_stPKc6size_tPKc6size_tPKc6size_t6time_t8uint32_t" title="Permalink to this definition"></a><br /></dt>
225 <dd></dd></dl>
226
227 <dl class="cpp function">
228 <dt id="_CPPv424memcached_replace_by_keyP12memcached_stPKc6size_tPKc6size_tPKc6size_t6time_t8uint32_t">
229 <span id="_CPPv324memcached_replace_by_keyP12memcached_stPKc6size_tPKc6size_tPKc6size_t6time_t8uint32_t"></span><span id="_CPPv224memcached_replace_by_keyP12memcached_stPKc6size_tPKc6size_tPKc6size_t6time_t8uint32_t"></span><span id="memcached_replace_by_key__memcached_stP.cCP.s.cCP.s.cCP.s.time_t.uint32_t"></span><a class="reference internal" href="memcached_return_t.html#_CPPv418memcached_return_t" title="memcached_return_t">memcached_return_t</a> <code class="sig-name descname">memcached_replace_by_key</code><span class="sig-paren">(</span><a class="reference internal" href="memcached_create.html#_CPPv412memcached_st" title="memcached_st">memcached_st</a> *<em>ptr</em>, <em class="property">const</em> char *<em>group_key</em>, size_t <em>group_key_length</em>, <em class="property">const</em> char *<em>key</em>, size_t <em>key_length</em>, <em class="property">const</em> char *<em>value</em>, size_t <em>value_length</em>, time_t <em>expiration</em>, uint32_t <em>flags</em><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv424memcached_replace_by_keyP12memcached_stPKc6size_tPKc6size_tPKc6size_t6time_t8uint32_t" title="Permalink to this definition"></a><br /></dt>
230 <dd></dd></dl>
231
232 </div>
233 <div class="section" id="description">
234 <h2>DESCRIPTION<a class="headerlink" href="#description" title="Permalink to this headline"></a></h2>
235 <p><a class="reference internal" href="#_CPPv413memcached_setP12memcached_stPKc6size_tPKc6size_t6time_t8uint32_t" title="memcached_set"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">memcached_set()</span></code></a>, <a class="reference internal" href="#_CPPv413memcached_addP12memcached_stPKc6size_tPKc6size_t6time_t8uint32_t" title="memcached_add"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">memcached_add()</span></code></a>, and <a class="reference internal" href="#_CPPv417memcached_replaceP12memcached_stPKc6size_tPKc6size_t6time_t8uint32_t" title="memcached_replace"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">memcached_replace()</span></code></a> are all used to store information on the server. All methods take a key, and its length to store the object. Keys are currently limited to 250 characters when using either a version of memcached(1) which is 1.4 or below, or when using the text protocol. You must supply both a value and a length. Optionally you
236 store the object. Keys are currently limited to 250 characters by the
237 memcached(1) server. You must supply both a value and a length. Optionally you
238 may test an expiration time for the object and a 16 byte value (it is meant to be used as a bitmap). &quot;flags&quot; is a 4byte space that is stored alongside of the main value. Many sub libraries make use of this field, so in most cases users should avoid making use of it.</p>
239 <p><a class="reference internal" href="#_CPPv413memcached_setP12memcached_stPKc6size_tPKc6size_t6time_t8uint32_t" title="memcached_set"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">memcached_set()</span></code></a> will write an object to the server. If an object
240 already exists it will overwrite what is in the server. If the object does not
241 exist it will be written. If you are using the non-blocking mode this function
242 will always return true unless a network error occurs.</p>
243 <p><a class="reference internal" href="#_CPPv417memcached_replaceP12memcached_stPKc6size_tPKc6size_t6time_t8uint32_t" title="memcached_replace"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">memcached_replace()</span></code></a> replaces an object on the server. If the object is not found on the server an error occurs.</p>
244 <p><a class="reference internal" href="#_CPPv413memcached_addP12memcached_stPKc6size_tPKc6size_t6time_t8uint32_t" title="memcached_add"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">memcached_add()</span></code></a> adds an object to the server. If the object is found on the server an error occurs, otherwise the value is stored.</p>
245 <p><a class="reference internal" href="#_CPPv420memcached_set_by_keyP12memcached_stPKc6size_tPKc6size_tPKc6size_t6time_t8uint32_t" title="memcached_set_by_key"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">memcached_set_by_key()</span></code></a>, <a class="reference internal" href="#_CPPv420memcached_add_by_keyP12memcached_stPKc6size_tPKc6size_tPKc6size_t6time_t8uint32_t" title="memcached_add_by_key"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">memcached_add_by_key()</span></code></a>, and <a class="reference internal" href="#_CPPv424memcached_replace_by_keyP12memcached_stPKc6size_tPKc6size_tPKc6size_t6time_t8uint32_t" title="memcached_replace_by_key"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">memcached_replace_by_key()</span></code></a> methods all behave in a similar method as the non
246 key methods. The difference is that they use their group_key parameter to map
247 objects to particular servers.</p>
248 <p>If you are looking for performance, <a class="reference internal" href="#_CPPv413memcached_setP12memcached_stPKc6size_tPKc6size_t6time_t8uint32_t" title="memcached_set"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">memcached_set()</span></code></a> with non-blocking IO is the fastest way to store data on the server.</p>
249 <p>All of the above functions are tested with the <a class="reference internal" href="memcached_behavior.html#_CPPv4N20memcached_behavior_t26MEMCACHED_BEHAVIOR_USE_UDPE" title="MEMCACHED_BEHAVIOR_USE_UDP"><code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">MEMCACHED_BEHAVIOR_USE_UDP</span></code></a> behavior enabled. However, when using these operations with this behavior
250 on, there are limits to the size of the payload being sent to the server.
251 The reason for these limits is that the Memcached Server does not allow
252 multi-datagram requests and the current server implementation sets a datagram
253 size to 1400 bytes. Due to protocol overhead, the actual limit of the user supplied data is less than 1400 bytes and depends on the protocol in use as, well as the operation being
254 executed. When running with the binary protocol, <a class="reference internal" href="memcached_behavior.html#_CPPv4N20memcached_behavior_t34MEMCACHED_BEHAVIOR_BINARY_PROTOCOLE" title="MEMCACHED_BEHAVIOR_BINARY_PROTOCOL"><code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">MEMCACHED_BEHAVIOR_BINARY_PROTOCOL</span></code></a>, the size of the key,value, flags and expiry combined may not
255 exceed 1368 bytes. When running with the ASCII protocol, the exact limit fluctuates depending on which function is being executed and whether the function is a cas operation or not. For non-cas ASCII set operations, there are at least
256 1335 bytes available to split among the key, key_prefix, and value; for cas
257 ASCII operations there are at least 1318 bytes available to split among the key, key_prefix and value. If the total size of the command, including overhead,
258 exceeds 1400 bytes, a <a class="reference internal" href="memcached_return_t.html#_CPPv4N18memcached_return_t23MEMCACHED_WRITE_FAILUREE" title="MEMCACHED_WRITE_FAILURE"><code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">MEMCACHED_WRITE_FAILURE</span></code></a> will be returned.</p>
259 </div>
260 <div class="section" id="return-value">
261 <h2>RETURN VALUE<a class="headerlink" href="#return-value" title="Permalink to this headline"></a></h2>
262 <p>All methods return a value of type <a class="reference internal" href="memcached_return_t.html#_CPPv418memcached_return_t" title="memcached_return_t"><code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">memcached_return_t</span></code></a>.
263 On success the value will be <a class="reference internal" href="memcached_return_t.html#_CPPv4N18memcached_return_t17MEMCACHED_SUCCESSE" title="MEMCACHED_SUCCESS"><code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">MEMCACHED_SUCCESS</span></code></a>.
264 Use <a class="reference internal" href="memcached_strerror.html#_CPPv418memcached_strerrorP12memcached_st18memcached_return_t" title="memcached_strerror"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">memcached_strerror()</span></code></a> to translate this value to a printable string.</p>
265 <p>For <a class="reference internal" href="#_CPPv417memcached_replaceP12memcached_stPKc6size_tPKc6size_t6time_t8uint32_t" title="memcached_replace"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">memcached_replace()</span></code></a> and <a class="reference internal" href="#_CPPv413memcached_addP12memcached_stPKc6size_tPKc6size_t6time_t8uint32_t" title="memcached_add"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">memcached_add()</span></code></a>, <a class="reference internal" href="memcached_return_t.html#_CPPv4N18memcached_return_t19MEMCACHED_NOTSTOREDE" title="MEMCACHED_NOTSTORED"><code class="xref cpp cpp-any docutils literal notranslate"><span class="pre">MEMCACHED_NOTSTORED</span></code></a>
266 is a legitimate error in the case of a collision.</p>
267 </div>
268 <div class="section" id="see-also">
269 <h2>SEE ALSO<a class="headerlink" href="#see-also" title="Permalink to this headline"></a></h2>
270 </div>
271 </div>
272
273
274 </div>
275
276 </div>
277 <footer>
278
279 <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
280
281 <a href="memcached_delete.html" class="btn btn-neutral float-right" title="Deleting data from a server" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
282
283
284 <a href="memcached_get.html" class="btn btn-neutral float-left" title="Retrieving data from the server" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
285
286 </div>
287
288
289 <hr/>
290
291 <div role="contentinfo">
292 <p>
293
294
295 &copy; <a href="../copyright.html">Copyright</a>
296
297 </p>
298 </div>
299
300
301
302 Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a
303
304 <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a>
305
306 provided by <a href="https://readthedocs.org">Read the Docs</a>.
307
308 </footer>
309
310 </div>
311 </div>
312
313 </section>
314
315 </div>
316
317
318 <script type="text/javascript">
319 jQuery(function () {
320 SphinxRtdTheme.Navigation.enable(true);
321 });
322 </script>
323
324
325
326
327
328
329 </body>
330 </html>