Go to main content

man pages section 3: Library Interfaces and Headers

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

memcached_get_memory_allocators (3libmemcached)

Name

memcached_get_memory_allocators - libmemcached Documentation Manage memory allocator functions

Synopsis

#include <libmemcached/memcached.h>

memcached_return_t   memcached_set_memory_allocators(memcached_st *ptr,
memcached_malloc_fn mem_malloc,             memcached_free_fn mem_free,
memcached_realloc_fn mem_realloc,       memcached_calloc_fn mem_calloc,
void *context)

void                 memcached_get_memory_allocators(memcached_st *ptr,
memcached_malloc_fn *mem_malloc,           memcached_free_fn *mem_free,
memcached_realloc_fn *mem_realloc, memcached_calloc_fn *mem_calloc)

void * memcached_get_memory_allocators_context(const memcached_st *ptr)

void  *  (*memcached_malloc_fn)(memcached_st *ptr,  const  size_t size,
void *context)

void   *  (*memcached_realloc_fn)(memcached_st *ptr,  void *mem,  const
size_t size, void *context)

void (*memcached_free_fn)(memcached_st *ptr, void *mem, void *context)

void *  (*memcached_calloc_fn)(memcached_st *ptr,  size_t nelem,  const
size_t elsize, void *context)

Compile and link with -lmemcached

Description

libmemcached                    MEMCACHED_GET_MEMORY_ALLOCATORS(3libmemcached)



NAME
       memcached_get_memory_allocators - libmemcached Documentation

       Manage memory allocator functions

SYNOPSIS
       #include <libmemcached/memcached.h>

       memcached_return_t   memcached_set_memory_allocators(memcached_st *ptr,
       memcached_malloc_fn mem_malloc,             memcached_free_fn mem_free,
       memcached_realloc_fn mem_realloc,       memcached_calloc_fn mem_calloc,
       void *context)

       void                 memcached_get_memory_allocators(memcached_st *ptr,
       memcached_malloc_fn *mem_malloc,           memcached_free_fn *mem_free,
       memcached_realloc_fn *mem_realloc, memcached_calloc_fn *mem_calloc)

       void * memcached_get_memory_allocators_context(const memcached_st *ptr)

       void  *  (*memcached_malloc_fn)(memcached_st *ptr,  const  size_t size,
       void *context)

       void   *  (*memcached_realloc_fn)(memcached_st *ptr,  void *mem,  const
       size_t size, void *context)

       void (*memcached_free_fn)(memcached_st *ptr, void *mem, void *context)

       void *  (*memcached_calloc_fn)(memcached_st *ptr,  size_t nelem,  const
       size_t elsize, void *context)

       Compile and link with -lmemcached

DESCRIPTION
       libmemcached(3) allows you to specify your own memory allocators, opti-
       mized for your application. This enables libmemcached to be used inside
       of applications that have their own malloc implementation.

       memcached_set_memory_allocators()  is used to set the memory allocators
       used by the memcached instance specified by ptr. Please note  that  you
       cannot  override only one of the memory allocators, you have to specify
       a complete new set if you want to override one of them. All of the mem-
       ory  allocation  functions  should behave as specified in the C99 stan-
       dard. Specify NULL as all functions to reset them to the  default  val-
       ues.

       memcached_get_memory_allocators()  is  used  to  get the currently used
       memory allocators by a mamcached handle.

       memcached_get_memory_allocators_context() returns the void *  that  was
       passed in during the call to memcached_set_memory_allocators().

       The  first argument to the memory allocator functions is a pointer to a
       memcached structure, the is passed as const and you will need to  clone
       it in order to make use of any operation which would modify it.


ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       +---------------+----------------------+
       |ATTRIBUTE TYPE |   ATTRIBUTE VALUE    |
       +---------------+----------------------+
       |Availability   | library/libmemcached |
       +---------------+----------------------+
       |Stability      | Uncommitted          |
       +---------------+----------------------+

NOTES
       In  version  0.38  all  functions  were modified to have a context void
       pointer passed to them. This was so that customer allocators could have
       their own space for memory.

       Source  code  for open source software components in Oracle Solaris can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-
       code-downloads.html.

       This     software     was    built    from    source    available    at
       https://github.com/oracle/solaris-userland.   The  original   community
       source     was     downloaded    from     https://launchpad.net/libmem-
       cached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz.

       Further information about this software can be found on the open source
       community website at http://libmemcached.org/libMemcached.html.

RETURN
       memcached_set_memory_allocators()  return  MEMCACHED_SUCCESS  upon suc-
       cess, and MEMCACHED_FAILURE if you don't pass a complete set  of  func-
       tion pointers.

HOME
       To find out more information please check: http://libmemcached.org/

SEE ALSO
       memcached(1) libmemcached(3) memcached_strerror(3)

AUTHOR
       Brian Aker

COPYRIGHT
       2011-2013, Brian Aker DataDifferential, http://datadifferential.com/




1.0.18                         February 09, 2014
                                MEMCACHED_GET_MEMORY_ALLOCATORS(3libmemcached)