4 <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
5 <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
9 <meta name=
"viewport" content=
"width=device-width, initial-scale=1.0">
11 <title>Managing the servers used by memcached_st
— libmemcached
1.1.0 documentation
</title>
20 <script type=
"text/javascript" src=
"../_static/js/modernizr.min.js"></script>
23 <script type=
"text/javascript" id=
"documentation_options" data-url_root=
"../" src=
"../_static/documentation_options.js"></script>
24 <script type=
"text/javascript" src=
"../_static/jquery.js"></script>
25 <script type=
"text/javascript" src=
"../_static/underscore.js"></script>
26 <script type=
"text/javascript" src=
"../_static/doctools.js"></script>
27 <script type=
"text/javascript" src=
"../_static/language_data.js"></script>
29 <script type=
"text/javascript" src=
"../_static/js/theme.js"></script>
34 <link rel=
"stylesheet" href=
"../_static/css/theme.css" type=
"text/css" />
35 <link rel=
"stylesheet" href=
"../_static/pygments.css" type=
"text/css" />
36 <link rel=
"index" title=
"Index" href=
"../genindex.html" />
37 <link rel=
"search" title=
"Search" href=
"../search.html" />
38 <link rel=
"copyright" title=
"Copyright" href=
"../copyright.html" />
39 <link rel=
"next" title=
"Affecting the memcached Daemon" href=
"index_advanced_daemon.html" />
40 <link rel=
"prev" title=
"Managing lists of servers" href=
"memcached_server_st.html" />
43 <body class=
"wy-body-for-nav">
46 <div class=
"wy-grid-for-nav">
48 <nav data-toggle=
"wy-nav-shift" class=
"wy-nav-side">
49 <div class=
"wy-side-scroll">
50 <div class=
"wy-side-nav-search" >
54 <a href=
"../index.html" class=
"icon icon-home"> libmemcached
71 <form id=
"rtd-search-form" class=
"wy-form" action=
"../search.html" method=
"get">
72 <input type=
"text" name=
"q" placeholder=
"Search docs" />
73 <input type=
"hidden" name=
"check_keywords" value=
"yes" />
74 <input type=
"hidden" name=
"area" value=
"default" />
81 <div class=
"wy-menu wy-menu-vertical" data-spy=
"affix" role=
"navigation" aria-label=
"main navigation">
89 <li class=
"toctree-l1"><a class=
"reference internal" href=
"../libmemcached.html">Introduction
</a></li>
90 <li class=
"toctree-l1 current"><a class=
"reference internal" href=
"index.html">libmemcached API
</a><ul class=
"current">
91 <li class=
"toctree-l2"><a class=
"reference internal" href=
"index_basics.html">Basics
</a></li>
92 <li class=
"toctree-l2"><a class=
"reference internal" href=
"index_data.html">Working with Data
</a></li>
93 <li class=
"toctree-l2"><a class=
"reference internal" href=
"index_errors.html">Messages and Errors
</a></li>
94 <li class=
"toctree-l2 current"><a class=
"reference internal" href=
"index_advanced.html">Advanced Topics
</a><ul class=
"current">
95 <li class=
"toctree-l3"><a class=
"reference internal" href=
"index_advanced_internals.html">Internal Behavior
</a></li>
96 <li class=
"toctree-l3"><a class=
"reference internal" href=
"index_advanced_aeh.html">Authentication, Encryption
& Hashing
</a></li>
97 <li class=
"toctree-l3 current"><a class=
"reference internal" href=
"index_advanced_servers.html">Servers and Server Lists
</a><ul class=
"current">
98 <li class=
"toctree-l4"><a class=
"reference internal" href=
"memcached_server_st.html">Managing lists of servers
</a></li>
99 <li class=
"toctree-l4 current"><a class=
"current reference internal" href=
"#">Managing the servers used by memcached_st
</a></li>
102 <li class=
"toctree-l3"><a class=
"reference internal" href=
"index_advanced_daemon.html">Affecting the memcached Daemon
</a></li>
103 <li class=
"toctree-l3"><a class=
"reference internal" href=
"index_advanced_stats.html">Statistics
</a></li>
106 <li class=
"toctree-l2"><a class=
"reference internal" href=
"index_deprecated.html">Deprecated Functionality
</a></li>
109 <li class=
"toctree-l1"><a class=
"reference internal" href=
"../libmemcachedutil/index.html">libmemcachedutil API
</a></li>
110 <li class=
"toctree-l1"><a class=
"reference internal" href=
"../libhashkit/index.html">libhashkit API
</a></li>
111 <li class=
"toctree-l1"><a class=
"reference internal" href=
"../bin/index.html">Client Applications
</a></li>
112 <li class=
"toctree-l1"><a class=
"reference internal" href=
"index_misc.html">Miscellaneous
</a></li>
115 <li class=
"toctree-l1"><a class=
"reference internal" href=
"../changelogs.html">Change Logs
</a></li>
116 <li class=
"toctree-l1"><a class=
"reference internal" href=
"../copyright.html">Copyright
</a></li>
125 <section data-toggle=
"wy-nav-shift" class=
"wy-nav-content-wrap">
128 <nav class=
"wy-nav-top" aria-label=
"top navigation">
130 <i data-toggle=
"wy-nav-top" class=
"fa fa-bars"></i>
131 <a href=
"../index.html">libmemcached
</a>
136 <div class=
"wy-nav-content">
138 <div class=
"rst-content">
156 <div role=
"navigation" aria-label=
"breadcrumbs navigation">
158 <ul class=
"wy-breadcrumbs">
160 <li><a href=
"../index.html">Docs
</a> »</li>
162 <li><a href=
"index.html">libmemcached API
</a> »</li>
164 <li><a href=
"index_advanced.html">Advanced Topics
</a> »</li>
166 <li><a href=
"index_advanced_servers.html">Servers and Server Lists
</a> »</li>
168 <li>Managing the servers used by memcached_st
</li>
171 <li class=
"wy-breadcrumbs-aside">
175 <a href=
"https://github.com/m6w6/libmemcached/blob/v1.x/docs/source/libmemcached/memcached_servers.rst" class=
"fa fa-github"> Edit on GitHub
</a>
186 <div role=
"main" class=
"document" itemscope=
"itemscope" itemtype=
"http://schema.org/Article">
187 <div itemprop=
"articleBody">
189 <div class=
"section" id=
"managing-the-servers-used-by-memcached-st">
190 <h1>Managing the servers used by memcached_st
<a class=
"headerlink" href=
"#managing-the-servers-used-by-memcached-st" title=
"Permalink to this headline">¶
</a></h1>
191 <div class=
"section" id=
"synopsis">
192 <h2>SYNOPSIS
<a class=
"headerlink" href=
"#synopsis" title=
"Permalink to this headline">¶
</a></h2>
193 <dl class=
"docutils">
194 <dt>#include
<libmemcached/memcached.h
></dt>
195 <dd>Compile and link with -lmemcached
</dd>
197 <dl class=
"function">
198 <dt id=
"_CPPv422memcached_server_countP12memcached_st">
199 <span id=
"_CPPv322memcached_server_countP12memcached_st"></span><span id=
"_CPPv222memcached_server_countP12memcached_st"></span><span id=
"memcached_server_count__memcached_stP"></span>uint32_t
<code class=
"descname">memcached_server_count
</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><span class=
"sig-paren">)
</span><a class=
"headerlink" href=
"#_CPPv422memcached_server_countP12memcached_st" title=
"Permalink to this definition">¶
</a><br /></dt>
200 <dd><table class=
"docutils field-list" frame=
"void" rules=
"none">
201 <col class=
"field-name" />
202 <col class=
"field-body" />
204 <tr class=
"field-odd field"><th class=
"field-name">Parameters:
</th><td class=
"field-body"><strong>ptr
</strong> -- pointer to initialized
<a class=
"reference internal" href=
"memcached_create.html#_CPPv412memcached_st" title=
"memcached_st"><code class=
"xref cpp cpp-any docutils literal notranslate"><span class=
"pre">memcached_st
</span></code></a> struct
</td>
206 <tr class=
"field-even field"><th class=
"field-name">Returns:
</th><td class=
"field-body">number of configured servers
</td>
212 <dl class=
"function">
213 <dt id=
"_CPPv420memcached_server_addP12memcached_stPKc9in_port_t">
214 <span id=
"_CPPv320memcached_server_addP12memcached_stPKc9in_port_t"></span><span id=
"_CPPv220memcached_server_addP12memcached_stPKc9in_port_t"></span><span id=
"memcached_server_add__memcached_stP.cCP.in_port_t"></span><a class=
"reference internal" href=
"memcached_return_t.html#_CPPv418memcached_return_t" title=
"memcached_return_t">memcached_return_t
</a> <code class=
"descname">memcached_server_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>hostname
</em>, in_port_t
<em>port
</em><span class=
"sig-paren">)
</span><a class=
"headerlink" href=
"#_CPPv420memcached_server_addP12memcached_stPKc9in_port_t" title=
"Permalink to this definition">¶
</a><br /></dt>
215 <dd><table class=
"docutils field-list" frame=
"void" rules=
"none">
216 <col class=
"field-name" />
217 <col class=
"field-body" />
219 <tr class=
"field-odd field"><th class=
"field-name">Parameters:
</th><td class=
"field-body"><ul class=
"first simple">
220 <li><strong>ptr
</strong> -- pointer to initialized
<a class=
"reference internal" href=
"memcached_create.html#_CPPv412memcached_st" title=
"memcached_st"><code class=
"xref cpp cpp-any docutils literal notranslate"><span class=
"pre">memcached_st
</span></code></a> struct
</li>
221 <li><strong>hostname
</strong> -- hostname or IP address of the TCP server to add
</li>
222 <li><strong>port
</strong> -- port of the TCP server
</li>
226 <tr class=
"field-even field"><th class=
"field-name">Returns:
</th><td class=
"field-body"><p class=
"first last"><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> indicating success
</p>
233 <dl class=
"function">
234 <dt id=
"_CPPv424memcached_server_add_udpP12memcached_stPKc9in_port_t">
235 <span id=
"_CPPv324memcached_server_add_udpP12memcached_stPKc9in_port_t"></span><span id=
"_CPPv224memcached_server_add_udpP12memcached_stPKc9in_port_t"></span><span id=
"memcached_server_add_udp__memcached_stP.cCP.in_port_t"></span><a class=
"reference internal" href=
"memcached_return_t.html#_CPPv418memcached_return_t" title=
"memcached_return_t">memcached_return_t
</a> <code class=
"descname">memcached_server_add_udp
</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>hostname
</em>, in_port_t
<em>port
</em><span class=
"sig-paren">)
</span><a class=
"headerlink" href=
"#_CPPv424memcached_server_add_udpP12memcached_stPKc9in_port_t" title=
"Permalink to this definition">¶
</a><br /></dt>
236 <dd><table class=
"docutils field-list" frame=
"void" rules=
"none">
237 <col class=
"field-name" />
238 <col class=
"field-body" />
240 <tr class=
"field-odd field"><th class=
"field-name">Parameters:
</th><td class=
"field-body"><ul class=
"first simple">
241 <li><strong>ptr
</strong> -- pointer to initialized
<a class=
"reference internal" href=
"memcached_create.html#_CPPv412memcached_st" title=
"memcached_st"><code class=
"xref cpp cpp-any docutils literal notranslate"><span class=
"pre">memcached_st
</span></code></a> struct
</li>
242 <li><strong>hostname
</strong> -- hostname or IP address of the UDP server to add
</li>
243 <li><strong>port
</strong> -- port of the UDP server
</li>
247 <tr class=
"field-even field"><th class=
"field-name">Returns:
</th><td class=
"field-body"><p class=
"first last"><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> indicating success
</p>
254 <dl class=
"function">
255 <dt id=
"_CPPv432memcached_server_add_unix_socketP12memcached_stPKc">
256 <span id=
"_CPPv332memcached_server_add_unix_socketP12memcached_stPKc"></span><span id=
"_CPPv232memcached_server_add_unix_socketP12memcached_stPKc"></span><span id=
"memcached_server_add_unix_socket__memcached_stP.cCP"></span><a class=
"reference internal" href=
"memcached_return_t.html#_CPPv418memcached_return_t" title=
"memcached_return_t">memcached_return_t
</a> <code class=
"descname">memcached_server_add_unix_socket
</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>socket
</em><span class=
"sig-paren">)
</span><a class=
"headerlink" href=
"#_CPPv432memcached_server_add_unix_socketP12memcached_stPKc" title=
"Permalink to this definition">¶
</a><br /></dt>
257 <dd><table class=
"docutils field-list" frame=
"void" rules=
"none">
258 <col class=
"field-name" />
259 <col class=
"field-body" />
261 <tr class=
"field-odd field"><th class=
"field-name">Parameters:
</th><td class=
"field-body"><ul class=
"first simple">
262 <li><strong>ptr
</strong> -- pointer to initialized
<a class=
"reference internal" href=
"memcached_create.html#_CPPv412memcached_st" title=
"memcached_st"><code class=
"xref cpp cpp-any docutils literal notranslate"><span class=
"pre">memcached_st
</span></code></a> struct
</li>
263 <li><strong>socket
</strong> -- path to the UNIX socket of the server to add
</li>
267 <tr class=
"field-even field"><th class=
"field-name">Returns:
</th><td class=
"field-body"><p class=
"first last"><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> indicating success
</p>
274 <dl class=
"function">
275 <dt id=
"_CPPv421memcached_server_pushP12memcached_stPK19memcached_server_st">
276 <span id=
"_CPPv321memcached_server_pushP12memcached_stPK19memcached_server_st"></span><span id=
"_CPPv221memcached_server_pushP12memcached_stPK19memcached_server_st"></span><span id=
"memcached_server_push__memcached_stP.memcached_server_stCP"></span><a class=
"reference internal" href=
"memcached_return_t.html#_CPPv418memcached_return_t" title=
"memcached_return_t">memcached_return_t
</a> <code class=
"descname">memcached_server_push
</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> memcached_server_st *
<em>list
</em><span class=
"sig-paren">)
</span><a class=
"headerlink" href=
"#_CPPv421memcached_server_pushP12memcached_stPK19memcached_server_st" title=
"Permalink to this definition">¶
</a><br /></dt>
277 <dd><table class=
"docutils field-list" frame=
"void" rules=
"none">
278 <col class=
"field-name" />
279 <col class=
"field-body" />
281 <tr class=
"field-odd field"><th class=
"field-name">Parameters:
</th><td class=
"field-body"><ul class=
"first simple">
282 <li><strong>ptr
</strong> -- pointer to initialized
<a class=
"reference internal" href=
"memcached_create.html#_CPPv412memcached_st" title=
"memcached_st"><code class=
"xref cpp cpp-any docutils literal notranslate"><span class=
"pre">memcached_st
</span></code></a> struct
</li>
283 <li><strong>list
</strong> -- pre-configured list of servers to push
</li>
287 <tr class=
"field-even field"><th class=
"field-name">Returns:
</th><td class=
"field-body"><p class=
"first last"><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> indicating success
</p>
294 <dl class=
"function">
295 <dt id=
"_CPPv423memcached_server_by_keyP12memcached_stPKc6size_tP18memcached_return_t">
296 <span id=
"_CPPv323memcached_server_by_keyP12memcached_stPKc6size_tP18memcached_return_t"></span><span id=
"_CPPv223memcached_server_by_keyP12memcached_stPKc6size_tP18memcached_return_t"></span><span id=
"memcached_server_by_key__memcached_stP.cCP.s.memcached_return_tP"></span><em class=
"property">const
</em> memcached_instance_st *
<code class=
"descname">memcached_server_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>key
</em>, size_t
<em>key_length
</em>,
<a class=
"reference internal" href=
"memcached_return_t.html#_CPPv418memcached_return_t" title=
"memcached_return_t">memcached_return_t
</a> *
<em>error
</em><span class=
"sig-paren">)
</span><a class=
"headerlink" href=
"#_CPPv423memcached_server_by_keyP12memcached_stPKc6size_tP18memcached_return_t" title=
"Permalink to this definition">¶
</a><br /></dt>
297 <dd><table class=
"docutils field-list" frame=
"void" rules=
"none">
298 <col class=
"field-name" />
299 <col class=
"field-body" />
301 <tr class=
"field-odd field"><th class=
"field-name">Parameters:
</th><td class=
"field-body"><ul class=
"first simple">
302 <li><strong>ptr
</strong> -- pointer to initialized
<a class=
"reference internal" href=
"memcached_create.html#_CPPv412memcached_st" title=
"memcached_st"><code class=
"xref cpp cpp-any docutils literal notranslate"><span class=
"pre">memcached_st
</span></code></a> struct
</li>
303 <li><strong>key
</strong> -- key to hash and lookup a server
</li>
304 <li><strong>key_length
</strong> -- length of
<a class=
"reference internal" href=
"#_CPPv423memcached_server_by_keyP12memcached_stPKc6size_tP18memcached_return_t" title=
"memcached_server_by_key::key"><code class=
"xref cpp cpp-any docutils literal notranslate"><span class=
"pre">key
</span></code></a> without any terminating zero
</li>
305 <li><strong>error
</strong> -- pointer to
<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> indicating success
</li>
309 <tr class=
"field-even field"><th class=
"field-name">Returns:
</th><td class=
"field-body"><p class=
"first last">the server instance to be used for storing/retrieving
<a class=
"reference internal" href=
"#_CPPv423memcached_server_by_keyP12memcached_stPKc6size_tP18memcached_return_t" title=
"memcached_server_by_key::key"><code class=
"xref cpp cpp-any docutils literal notranslate"><span class=
"pre">key
</span></code></a></p>
316 <dl class=
"function">
317 <dt id=
"_CPPv436memcached_server_get_last_disconnectPK12memcached_st">
318 <span id=
"_CPPv336memcached_server_get_last_disconnectPK12memcached_st"></span><span id=
"_CPPv236memcached_server_get_last_disconnectPK12memcached_st"></span><span id=
"memcached_server_get_last_disconnect__memcached_stCP"></span><em class=
"property">const
</em> memcached_instance_st *
<code class=
"descname">memcached_server_get_last_disconnect
</code><span class=
"sig-paren">(
</span><em class=
"property">const
</em> <a class=
"reference internal" href=
"memcached_create.html#_CPPv412memcached_st" title=
"memcached_st">memcached_st
</a> *
<em>ptr
</em><span class=
"sig-paren">)
</span><a class=
"headerlink" href=
"#_CPPv436memcached_server_get_last_disconnectPK12memcached_st" title=
"Permalink to this definition">¶
</a><br /></dt>
319 <dd><table class=
"docutils field-list" frame=
"void" rules=
"none">
320 <col class=
"field-name" />
321 <col class=
"field-body" />
323 <tr class=
"field-odd field"><th class=
"field-name">Parameters:
</th><td class=
"field-body"><strong>ptr
</strong> -- pointer to initialized
<a class=
"reference internal" href=
"memcached_create.html#_CPPv412memcached_st" title=
"memcached_st"><code class=
"xref cpp cpp-any docutils literal notranslate"><span class=
"pre">memcached_st
</span></code></a> struct
</td>
325 <tr class=
"field-even field"><th class=
"field-name">Returns:
</th><td class=
"field-body">the instance of the last server for which there was a connection problem
</td>
331 <dl class=
"function">
332 <dt id=
"_CPPv423memcached_server_cursorPK12memcached_stPK19memcached_server_fnPv8uint32_t">
333 <span id=
"_CPPv323memcached_server_cursorPK12memcached_stPK19memcached_server_fnPv8uint32_t"></span><span id=
"_CPPv223memcached_server_cursorPK12memcached_stPK19memcached_server_fnPv8uint32_t"></span><span id=
"memcached_server_cursor__memcached_stCP.memcached_server_fnCP.voidP.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=
"descname">memcached_server_cursor
</code><span class=
"sig-paren">(
</span><em class=
"property">const
</em> <a class=
"reference internal" href=
"memcached_create.html#_CPPv412memcached_st" title=
"memcached_st">memcached_st
</a> *
<em>ptr
</em>,
<em class=
"property">const
</em> <a class=
"reference internal" href=
"#_CPPv419memcached_server_fn" title=
"memcached_server_fn">memcached_server_fn
</a> *
<em>callback
</em>, void *
<em>context
</em>, uint32_t
<em>number_of_callbacks
</em><span class=
"sig-paren">)
</span><a class=
"headerlink" href=
"#_CPPv423memcached_server_cursorPK12memcached_stPK19memcached_server_fnPv8uint32_t" title=
"Permalink to this definition">¶
</a><br /></dt>
334 <dd><table class=
"docutils field-list" frame=
"void" rules=
"none">
335 <col class=
"field-name" />
336 <col class=
"field-body" />
338 <tr class=
"field-odd field"><th class=
"field-name">Parameters:
</th><td class=
"field-body"><ul class=
"first simple">
339 <li><strong>ptr
</strong> -- pointer to initialized
<a class=
"reference internal" href=
"memcached_create.html#_CPPv412memcached_st" title=
"memcached_st"><code class=
"xref cpp cpp-any docutils literal notranslate"><span class=
"pre">memcached_st
</span></code></a> struct
</li>
340 <li><strong>callback
</strong> -- list of
<a class=
"reference internal" href=
"#_CPPv419memcached_server_fn" title=
"memcached_server_fn"><code class=
"xref cpp cpp-any docutils literal notranslate"><span class=
"pre">memcached_server_fn
</span></code></a> to be called for each server instance
</li>
341 <li><strong>context
</strong> -- pointer to user supplied context for the callback
</li>
342 <li><strong>number_of_callbacks
</strong> -- number of callbacks supplied
</li>
346 <tr class=
"field-even field"><th class=
"field-name">Returns:
</th><td class=
"field-body"><p class=
"first last"><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> indicating success
</p>
354 <dt id=
"_CPPv419memcached_server_fn">
355 <span id=
"_CPPv319memcached_server_fn"></span><span id=
"_CPPv219memcached_server_fn"></span><span id=
"memcached_server_fn"></span><em class=
"property">typedef
</em><a class=
"reference internal" href=
"memcached_return_t.html#_CPPv418memcached_return_t" title=
"memcached_return_t">memcached_return_t
</a> (*
<code class=
"descname">memcached_server_fn
</code>)
<span class=
"sig-paren">(
</span><em class=
"property">const
</em> <a class=
"reference internal" href=
"memcached_create.html#_CPPv412memcached_st" title=
"memcached_st">memcached_st
</a> *ptr,
<em class=
"property">const
</em> memcached_instance_st *server, void *context
<span class=
"sig-paren">)
</span><a class=
"headerlink" href=
"#_CPPv419memcached_server_fn" title=
"Permalink to this definition">¶
</a><br /></dt>
356 <dd><table class=
"docutils field-list" frame=
"void" rules=
"none">
357 <col class=
"field-name" />
358 <col class=
"field-body" />
360 <tr class=
"field-odd field"><th class=
"field-name">Parameters:
</th><td class=
"field-body"><ul class=
"first simple">
361 <li><strong>ptr
</strong> -- pointer to the
<a class=
"reference internal" href=
"memcached_create.html#_CPPv412memcached_st" title=
"memcached_st"><code class=
"xref cpp cpp-any docutils literal notranslate"><span class=
"pre">memcached_st
</span></code></a> struct
</li>
362 <li><strong>server
</strong> -- pointer to
<code class=
"xref cpp cpp-any docutils literal notranslate"><span class=
"pre">memcached_instance_st
</span></code></li>
363 <li><strong>context
</strong> -- pointer to user supplied context
</li>
367 <tr class=
"field-even field"><th class=
"field-name">Returns:
</th><td class=
"field-body"><p class=
"first last"><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> indicating success
</p>
375 <div class=
"section" id=
"description">
376 <h2>DESCRIPTION
<a class=
"headerlink" href=
"#description" title=
"Permalink to this headline">¶
</a></h2>
377 <p><code class=
"xref cpp cpp-any docutils literal notranslate"><span class=
"pre">libmemcached
</span></code> performs operations on a list of hosts. The order of
378 these hosts determine routing to keys. Functions are provided to add keys to
379 <a class=
"reference internal" href=
"memcached_create.html#_CPPv412memcached_st" title=
"memcached_st"><code class=
"xref cpp cpp-any docutils literal notranslate"><span class=
"pre">memcached_st
</span></code></a> structures. To manipulate lists of servers see
380 <code class=
"xref cpp cpp-any docutils literal notranslate"><span class=
"pre">memcached_server_st
</span></code>.
</p>
381 <p><a class=
"reference internal" href=
"#_CPPv422memcached_server_countP12memcached_st" title=
"memcached_server_count"><code class=
"xref cpp cpp-func docutils literal notranslate"><span class=
"pre">memcached_server_count()
</span></code></a> provides you a count of the current number of
382 servers being used by a
<a class=
"reference internal" href=
"memcached_create.html#_CPPv412memcached_st" title=
"memcached_st"><code class=
"xref cpp cpp-type docutils literal notranslate"><span class=
"pre">memcached_st
</span></code></a> structure.
</p>
383 <p><a class=
"reference internal" href=
"#_CPPv420memcached_server_addP12memcached_stPKc9in_port_t" title=
"memcached_server_add"><code class=
"xref cpp cpp-func docutils literal notranslate"><span class=
"pre">memcached_server_add()
</span></code></a> pushes a single TCP server into the
384 <a class=
"reference internal" href=
"memcached_create.html#_CPPv412memcached_st" title=
"memcached_st"><code class=
"xref cpp cpp-type docutils literal notranslate"><span class=
"pre">memcached_st
</span></code></a> structure. This server will be placed at the end.
385 Duplicate servers are allowed, so duplication is not checked. Executing this
386 function 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 set will result in
387 a
<a class=
"reference internal" href=
"memcached_return_t.html#_CPPv4N18memcached_return_t31MEMCACHED_INVALID_HOST_PROTOCOLE" title=
"MEMCACHED_INVALID_HOST_PROTOCOL"><code class=
"xref cpp cpp-any docutils literal notranslate"><span class=
"pre">MEMCACHED_INVALID_HOST_PROTOCOL
</span></code></a>.
</p>
388 <p><a class=
"reference internal" href=
"#_CPPv424memcached_server_add_udpP12memcached_stPKc9in_port_t" title=
"memcached_server_add_udp"><code class=
"xref cpp cpp-func docutils literal notranslate"><span class=
"pre">memcached_server_add_udp()
</span></code></a> pushes a single UDP server into the
389 <a class=
"reference internal" href=
"memcached_create.html#_CPPv412memcached_st" title=
"memcached_st"><code class=
"xref cpp cpp-type docutils literal notranslate"><span class=
"pre">memcached_st
</span></code></a> structure. This server will be placed at the end. Duplicate
390 servers are allowed, so duplication is not checked. Executing this function
391 without setting 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 will result in a
392 <a class=
"reference internal" href=
"memcached_return_t.html#_CPPv4N18memcached_return_t31MEMCACHED_INVALID_HOST_PROTOCOLE" title=
"MEMCACHED_INVALID_HOST_PROTOCOL"><code class=
"xref cpp cpp-any docutils literal notranslate"><span class=
"pre">MEMCACHED_INVALID_HOST_PROTOCOL
</span></code></a>.
</p>
393 <p><a class=
"reference internal" href=
"#_CPPv432memcached_server_add_unix_socketP12memcached_stPKc" title=
"memcached_server_add_unix_socket"><code class=
"xref cpp cpp-func docutils literal notranslate"><span class=
"pre">memcached_server_add_unix_socket()
</span></code></a> pushes a single UNIX socket into the
394 <a class=
"reference internal" href=
"memcached_create.html#_CPPv412memcached_st" title=
"memcached_st"><code class=
"xref cpp cpp-type docutils literal notranslate"><span class=
"pre">memcached_st
</span></code></a> structure. This UNIX socket will be placed at the end.
395 Duplicate servers are allowed, so duplication is not checked. The length
396 of the filename must be one character less than
<code class=
"xref cpp cpp-any docutils literal notranslate"><span class=
"pre">MEMCACHED_MAX_HOST_LENGTH
</span></code>.
</p>
397 <p><a class=
"reference internal" href=
"#_CPPv421memcached_server_pushP12memcached_stPK19memcached_server_st" title=
"memcached_server_push"><code class=
"xref cpp cpp-func docutils literal notranslate"><span class=
"pre">memcached_server_push()
</span></code></a> pushes an array of
<code class=
"xref cpp cpp-type docutils literal notranslate"><span class=
"pre">memcached_server_st
</span></code>
398 into the
<a class=
"reference internal" href=
"memcached_create.html#_CPPv412memcached_st" title=
"memcached_st"><code class=
"xref cpp cpp-type docutils literal notranslate"><span class=
"pre">memcached_st
</span></code></a> structure. These servers will be placed at
399 the end. Duplicate servers are allowed, so duplication is not checked. A
400 copy is made of structure so the list provided (and any operations on
401 the list) are not saved.
</p>
402 <p><a class=
"reference internal" href=
"#_CPPv423memcached_server_by_keyP12memcached_stPKc6size_tP18memcached_return_t" title=
"memcached_server_by_key"><code class=
"xref cpp cpp-func docutils literal notranslate"><span class=
"pre">memcached_server_by_key()
</span></code></a> allows you to provide a key and retrieve the
403 server which would be used for assignment.
</p>
404 <p><a class=
"reference internal" href=
"#_CPPv436memcached_server_get_last_disconnectPK12memcached_st" title=
"memcached_server_get_last_disconnect"><code class=
"xref cpp cpp-func docutils literal notranslate"><span class=
"pre">memcached_server_get_last_disconnect()
</span></code></a> returns a pointer to the last
405 server for which there was a connection problem. It does not mean this
406 particular server is currently dead but if the library is reporting a server
407 is, the returned server is a very good candidate.
</p>
408 <p><a class=
"reference internal" href=
"#_CPPv423memcached_server_cursorPK12memcached_stPK19memcached_server_fnPv8uint32_t" title=
"memcached_server_cursor"><code class=
"xref cpp cpp-func docutils literal notranslate"><span class=
"pre">memcached_server_cursor()
</span></code></a> takes a memcached_st and loops through the
409 list of hosts currently in the cursor calling the list of callback
410 functions provided. You can optionally pass in a value via
411 context which will be provided to each callback function. An error
412 return from any callback will terminate the loop.
413 <a class=
"reference internal" href=
"#_CPPv423memcached_server_cursorPK12memcached_stPK19memcached_server_fnPv8uint32_t" title=
"memcached_server_cursor"><code class=
"xref cpp cpp-func docutils literal notranslate"><span class=
"pre">memcached_server_cursor()
</span></code></a> is passed the original caller
414 <a class=
"reference internal" href=
"memcached_create.html#_CPPv412memcached_st" title=
"memcached_st"><code class=
"xref cpp cpp-type docutils literal notranslate"><span class=
"pre">memcached_st
</span></code></a> in its current state.
</p>
416 <div class=
"section" id=
"return-value">
417 <h2>RETURN VALUE
<a class=
"headerlink" href=
"#return-value" title=
"Permalink to this headline">¶
</a></h2>
418 <p>Varies, see particular functions.
</p>
420 <div class=
"section" id=
"see-also">
421 <h2>SEE ALSO
<a class=
"headerlink" href=
"#see-also" title=
"Permalink to this headline">¶
</a></h2>
423 <li><em class=
"manpage"><a class=
"manpage reference external" href=
"https://linux.die.net/man/1/memcached">memcached(
1)
</a></em></li>
424 <li><a class=
"reference internal" href=
"../libmemcached.html"><span class=
"doc">C/C++ Client Library for memcached
</span></a></li>
425 <li><a class=
"reference internal" href=
"memcached_server_st.html"><span class=
"doc">Managing lists of servers
</span></a></li>
426 <li><a class=
"reference internal" href=
"memcached_strerror.html"><span class=
"doc">Converting Error Codes to Messages
</span></a></li>
437 <div class=
"rst-footer-buttons" role=
"navigation" aria-label=
"footer navigation">
439 <a href=
"index_advanced_daemon.html" class=
"btn btn-neutral float-right" title=
"Affecting the memcached Daemon" accesskey=
"n" rel=
"next">Next
<span class=
"fa fa-arrow-circle-right"></span></a>
442 <a href=
"memcached_server_st.html" class=
"btn btn-neutral float-left" title=
"Managing lists of servers" accesskey=
"p" rel=
"prev"><span class=
"fa fa-arrow-circle-left"></span> Previous
</a>
449 <div role=
"contentinfo">
451 © <a href=
"../copyright.html">Copyright
</a>
455 Built with
<a href=
"http://sphinx-doc.org/">Sphinx
</a> using a
<a href=
"https://github.com/rtfd/sphinx_rtd_theme">theme
</a> provided by
<a href=
"https://readthedocs.org">Read the Docs
</a>.
468 <script type=
"text/javascript">
470 SphinxRtdTheme.Navigation.enable(true);