MEMCACHED_SERVER_CURSOR(3)

NAME
memcached_server_cursor - 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>