summaryrefslogtreecommitdiff
path: root/docs/source/memcached_create.rst
blob: ae851ba99ceebf9d4e269f57a7e8159d5bae2e8d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
======================================
Creating and destroying a memcached_st
======================================

--------
SYNOPSIS
--------

#include <libmemcached/memcached.h>

.. c:type:: memcached_st

.. c:function:: memcached_st* memcached_create(memcached_st *ptr)
 
.. c:function:: void memcached_free(memcached_st *ptr)
 
.. c:function:: memcached_st* memcached_clone(memcached_st *destination, memcached_st *source)
 
.. c:function:: void memcached_servers_reset(memcached_st)

Compile and link with -lmemcached


-----------
DESCRIPTION
-----------

:c:func:`memcached_create` is used to create a :c:type:`memcached_st` 
structure that will then be used by other libmemcached(3) functions to 
communicate with the server. You should either pass a statically declared 
:c:type:`memcached_st` to :c:func:`memcached_create` or
a NULL. If a NULL passed in then a structure is allocated for you.

Please note, when you write new application use 
:c:func:`memcached` over :c:func:`memcached_create`.

:c:func:`memcached_clone` is similar to :c:func:`memcached_create` but 
it copies the defaults and list of servers from the source 
:c:type:`memcached_st`. If you pass a null as the argument for the source 
to clone, it is the same as a call to :c:func:`memcached_create`.
If the destination argument is NULL a :c:type:`memcached_st` will be allocated 
for you.

:c:func:`memcached_servers_reset` allows you to zero out the list of 
servers that the :c:type:`memcached_st` has.

To clean up memory associated with a :c:type:`memcached_st` structure you 
should pass it to :c:func:`memcached_free` when you are finished using it. 
:c:func:`memcached_free` is the only way to make sure all memory is 
deallocated when you finish using the structure.

You may wish to avoid using memcached_create(3) or memcached_clone(3) with a
stack based allocation. The most common issues related to ABI safety involve
heap allocated structures.


------
RETURN
------


:c:func:`memcached_create` returns a pointer to the :c:type:`memcached_st` 
that was created (or initialized). On an allocation failure, it returns NULL.

:c:func:`memcached_clone` returns a pointer to the :c:type:`memcached_st` 
that was created (or initialized). On an allocation failure, it returns NULL.


----
HOME
----


To find out more information please check:
`http://libmemcached.org/ <http://libmemcached.org/>`_


--------
SEE ALSO
--------


:manpage:`memcached(1)` :manpage:`libmemcached(3)` :manpage:`memcached_strerror(3)`