MEMCACHED_SERVER_ADD(3)

NAME
memcached_server_add - libmemcached Documentation

SYNOPSIS

#include <libmemcached/memcached.h>
    Compile and link with -lmemcached

uint32_t memcached_server_count(memcached_st <#_CPPv412memcached_st> *ptr)

Parameters
    ptr -- pointer to initialized memcached_st <#_CPPv412memcached_st> struct

Returns
    number of configured servers

memcached_return_t <#_CPPv418memcached_return_t> memcached_server_add(memcached_st <#_CPPv412memcached_st> *ptr, const char *hostname, in_port_t port)

Parameters

•   ptr -- pointer to initialized memcached_st <#_CPPv412memcached_st> struct

•   hostname -- hostname or IP address of the TCP server to add

•   port -- port of the TCP server

Returns
    memcached_return_t <#_CPPv418memcached_return_t> indicating success

memcached_return_t <#_CPPv418memcached_return_t> memcached_server_add_udp(memcached_st <#_CPPv412memcached_st> *ptr, const char *hostname, in_port_t port)

Parameters

•   ptr -- pointer to initialized memcached_st <#_CPPv412memcached_st> struct

•   hostname -- hostname or IP address of the UDP server to add

•   port -- port of the UDP server

Returns
    memcached_return_t <#_CPPv418memcached_return_t> indicating success

memcached_return_t <#_CPPv418memcached_return_t> memcached_server_add_unix_socket(memcached_st <#_CPPv412memcached_st> *ptr, const char *socket)

Parameters

•   ptr -- pointer to initialized memcached_st <#_CPPv412memcached_st> struct

•   socket -- path to the UNIX socket of the server to add

Returns
    memcached_return_t <#_CPPv418memcached_return_t> indicating success

memcached_return_t <#_CPPv418memcached_return_t> memcached_server_push(memcached_st <#_CPPv412memcached_st> *ptr, const memcached_server_st *list)

Parameters

•   ptr -- pointer to initialized memcached_st <#_CPPv412memcached_st> struct

•   list -- pre-configured list of servers to push

Returns
    memcached_return_t <#_CPPv418memcached_return_t> indicating success

const memcached_instance_st *memcached_server_by_key(memcached_st <#_CPPv412memcached_st> *ptr, const char *key, size_t key_length, memcached_return_t <#_CPPv418memcached_return_t> *error)

Parameters

•   ptr -- pointer to initialized memcached_st <#_CPPv412memcached_st> struct

•   key -- key to hash and lookup a server

•   key_length -- length of key without any terminating zero

•   error -- pointer to memcached_return_t <#_CPPv418memcached_return_t> indicating success

Returns
    the server instance to be used for storing/retrieving key

const memcached_instance_st *memcached_server_get_last_disconnect(const memcached_st <#_CPPv412memcached_st> *ptr)

Parameters
    ptr -- pointer to initialized memcached_st <#_CPPv412memcached_st> struct

Returns
    the instance of the last server for which there was a connection problem

memcached_return_t <#_CPPv418memcached_return_t> memcached_server_cursor(const memcached_st <#_CPPv412memcached_st> *ptr, const memcached_server_fn *callback, void *context, uint32_t number_of_callbacks)

Parameters

•   ptr -- pointer to initialized memcached_st <#_CPPv412memcached_st> struct

•   callback -- list of memcached_server_fn to be called for each server instance

•   context -- pointer to user supplied context for the callback

•   number_of_callbacks -- number of callbacks supplied

Returns
    memcached_return_t <#_CPPv418memcached_return_t> indicating success

typedef memcached_return_t <#_CPPv418memcached_return_t> (*memcached_server_fn)(const memcached_st <#_CPPv412memcached_st> *ptr, const memcached_instance_st *server, void *context)

Param ptr
    pointer to the memcached_st <#_CPPv412memcached_st> struct

Param server
    pointer to memcached_instance_st

Param context
    pointer to user supplied context

Returns
    memcached_return_t <#_CPPv418memcached_return_t> indicating success

DESCRIPTION

libmemcached performs operations on a list of hosts. The order of these hosts determine routing to keys. Functions are provided to add keys to memcached_st <#_CPPv412memcached_st> structures. To manipulate lists of servers see memcached_server_st.

memcached_server_count() provides you a count of the current number of servers being used by a memcached_st <#_CPPv412memcached_st> structure.

memcached_server_add() pushes a single TCP server into the memcached_st <#_CPPv412memcached_st> structure. This server will be placed at the end. Duplicate servers are allowed, so duplication is not checked. Executing this function with the MEMCACHED_BEHAVIOR_USE_UDP <#_CPPv4N20memcached_behavior_t26MEMCACHED_BEHAVIOR_USE_UDPE> behavior set will result in a MEMCACHED_INVALID_HOST_PROTOCOL <#_CPPv4N18memcached_return_t31MEMCACHED_INVALID_HOST_PROTOCOLE>.

memcached_server_add_udp() pushes a single UDP server into the memcached_st <#_CPPv412memcached_st> structure. This server will be placed at the end. Duplicate servers are allowed, so duplication is not checked. Executing this function without setting the MEMCACHED_BEHAVIOR_USE_UDP <#_CPPv4N20memcached_behavior_t26MEMCACHED_BEHAVIOR_USE_UDPE> behavior will result in a MEMCACHED_INVALID_HOST_PROTOCOL <#_CPPv4N18memcached_return_t31MEMCACHED_INVALID_HOST_PROTOCOLE>.

memcached_server_add_unix_socket() pushes a single UNIX socket into the memcached_st <#_CPPv412memcached_st> structure. This UNIX socket will be placed at the end. Duplicate servers are allowed, so duplication is not checked. The length of the filename must be one character less than MEMCACHED_MAX_HOST_LENGTH.

memcached_server_push() pushes an array of memcached_server_st into the memcached_st <#_CPPv412memcached_st> structure. These servers will be placed at the end. Duplicate servers are allowed, so duplication is not checked. A copy is made of structure so the list provided (and any operations on the list) are not saved.

memcached_server_by_key() allows you to provide a key and retrieve the server which would be used for assignment.

memcached_server_get_last_disconnect() returns a pointer to the last server for which there was a connection problem. It does not mean this particular server is currently dead but if the library is reporting a server is, the returned server is a very good candidate.

memcached_server_cursor() takes a memcached_st and loops through the list of hosts currently in the cursor calling the list of callback functions provided. You can optionally pass in a value via context which will be provided to each callback function. An error return from any callback will terminate the loop. memcached_server_cursor() is passed the original caller memcached_st <#_CPPv412memcached_st> in its current state.

RETURN VALUE

Varies, see particular functions.

SEE ALSO

memcached(1) <https://linux.die.net/man/1/memcached> libmemcached(3) <https://linux.die.net/man/3/libmemcached> memcached_server_st(3) <https://linux.die.net/man/3/memcached_server_st> memcached_strerror(3) <https://linux.die.net/man/3/memcached_strerror>