f4f789d4185938a8b9c5a7c64798a51f765c70d6
[m6w6/libmemcached] / docs / memcached_servers.pod
1 =head1 NAME
2
3 memcached_server_count, memcached_server_list, memcached_server_add, memcached_server_push, memcached_server_get_last_disconnect - Manage server list
4
5 =head1 LIBRARY
6
7 C Client Library for memcached (libmemcached, -lmemcached)
8
9 =head1 SYNOPSIS
10
11 #include <memcached.h>
12
13 unsigned int memcached_server_count (memcached_st *ptr);
14
15 memcached_server_st *
16 memcached_server_list (memcached_st *ptr);
17
18 memcached_return_t
19 memcached_server_add (memcached_st *ptr,
20 const char *hostname,
21 in_port_t port);
22
23 memcached_return_t
24 memcached_server_add_udp (memcached_st *ptr,
25 const char *hostname,
26 in_port_t port);
27
28 memcached_return_t
29 memcached_server_add_unix_socket (memcached_st *ptr,
30 const char *socket);
31
32 memcached_return_t
33 memcached_server_push (memcached_st *ptr,
34 memcached_server_st *list);
35
36 memcached_server_st *
37 memcached_server_by_key (memcached_st *ptr,
38 const char *key, size_t key_length,
39 memcached_return_t *error);
40
41 memcached_server_st *
42 memcached_server_get_last_disconnect (memcached_st *ptr)
43
44
45 =head1 DESCRIPTION
46
47 libmemcached(3) performs operations on a list of hosts. The order of these
48 hosts determine routing to keys. Functions are provided to add keys to
49 memcached_st structures. To manipulate lists of servers see
50 memcached_server_st(3).
51
52 memcached_server_count() provides you a count of the current number of
53 servers being used by a C<memcached_st> structure.
54
55 memcached_server_list() is used to provide an array of all defined hosts.
56 You are responsible for freeing this list (aka it is not a pointer to the
57 currently used structure).
58
59 memcached_server_add() pushes a single TCP server into the C<memcached_st>
60 structure. This server will be placed at the end. Duplicate servers are
61 allowed, so duplication is not checked. Executing this function with the
62 C<MEMCACHED_BEHAVIOR_USE_UDP> behavior set will result in a
63 C<MEMCACHED_INVALID_HOST_PROTOCOL>.
64
65 memcached_server_add_udp() pushes a single UDP server into the C<memcached_st>
66 structure. This server will be placed at the end. Duplicate servers are
67 allowed, so duplication is not checked. Executing this function with out
68 setting the C<MEMCACHED_BEHAVIOR_USE_UDP> behavior will result in a
69 C<MEMCACHED_INVALID_HOST_PROTOCOL>.
70
71 memcached_server_add_unix_socket() pushes a single UNIX socket into the
72 C<memcached_st> structure. This UNIX socket will be placed at the end.
73 Duplicate servers are allowed, so duplication is not checked. The length
74 of the filename must be one character less then MEMCACHED_MAX_HOST_LENGTH.
75
76 memcached_server_push() pushes an array of C<memcached_server_st> into
77 the C<memcached_st> structure. These servers will be placed at the
78 end. Duplicate servers are allowed, so duplication is not checked. A
79 copy is made of structure so the list provided (and any operations on
80 the list) are not saved.
81
82 memcached_server_by_key() allows you to provide a key and retrieve the
83 server which would be used for assignment. This structure is cloned
84 from its original structure and must be freed. If NULL is returned you
85 should consult *error. The returning structure should be freed with
86 memcached_server_free().
87
88 memcached_server_get_last_disconnect() returns a pointer to the last server
89 for which there was a connection problem. It does not mean this particular
90 server is currently dead but if the library is reporting a server is,
91 the returned server is a very good candidate.
92
93 =head1 RETURN
94
95 Varies, see particular functions.
96
97 =head1 HOME
98
99 To find out more information please check:
100 L<http://tangent.org/552/libmemcached.html>
101
102 =head1 AUTHOR
103
104 Brian Aker, E<lt>brian@tangent.orgE<gt>
105
106 =head1 SEE ALSO
107
108 memcached(1) libmemcached(3) memcached_strerror(3)
109
110 =cut
111