.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "Memcached::libmemcached::memcached_pool 3pm" .TH Memcached::libmemcached::memcached_pool 3pm 2024-03-07 "perl v5.38.2" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH NAME memcached_pool_create, memcached_pool_destroy, memcached_pool_push, memcached_pool_pop \- Manage pools .SH LIBRARY .IX Header "LIBRARY" C Client Library for memcached (libmemcachedutil, \-lmemcachedutil) .SH SYNOPSIS .IX Header "SYNOPSIS" .Vb 1 \& #include \& \& memcached_pool_st * \& memcached_pool_create(memcached_st* mmc, int initial, int max); \& \& memcached_st * \& memcached_pool_destroy(memcached_pool_st* pool); \& \& memcached_st * \& memcached_pool_pop (memcached_pool_st* pool, bool block, memcached_return_t *rc); \& \& memcached_return_t \& memcached_pool_push(memcached_pool_st* pool, memcached_st *mmc); \& \& memcached_st *memcached_create (memcached_st *ptr); \& \& memcached_return_t \& memcached_pool_behavior_set(memcached_pool_st *pool, \& memcached_behavior_t flag, \& uint64_t data) \& \& memcached_return_t \& memcached_pool_behavior_get(memcached_pool_st *pool, \& memcached_behavior_t flag, \& uint64_t *value) .Ve .SH DESCRIPTION .IX Header "DESCRIPTION" \&\fBmemcached_pool_create()\fR is used to create a connection pool of objects you may use to remove the overhead of using memcached_clone for short lived \f(CW\*(C`memcached_st\*(C'\fR objects. The mmc argument should be an initialised \f(CW\*(C`memcached_st\*(C'\fR structure, and a successfull invocation of memcached_pool_create takes full ownership of the variable (until it is released by memcached_pool_destroy). The \f(CW\*(C`initial\*(C'\fR argument specifies the initial size of the connection pool, and the \f(CW\*(C`max\*(C'\fR argument specifies the maximum size the connection pool should grow to. Please note that the library will allocate a fixed size buffer scaled to the max size of the connection pool, so you should not pass MAXINT or some other large number here. .PP \&\fBmemcached_pool_destroy()\fR is used to destroy the connection pool created with \fBmemcached_pool_create()\fR and release all allocated resources. It will return the pointer to the \f(CW\*(C`memcached_st\*(C'\fR structure passed as an argument to \fBmemcached_pool_create()\fR, and returns the ownership of the pointer to the caller. .PP \&\fBmemcached_pool_pop()\fR is used to grab a connection structure from the connection pool. The block argument specifies if the function should block and wait for a connection structure to be available if we try to exceed the maximum size. .PP \&\fBmemcached_pool_push()\fR is used to return a connection structure back to the pool. .PP \&\fBmemcached_pool_behavior_set()\fR and \fBmemcached_pool_behagior_get()\fR is used to get/set behavior flags on all connections in the pool. .SH RETURN .IX Header "RETURN" \&\fBmemcached_pool_create()\fR returns a pointer to the newly created memcached_pool_st structure. On an allocation failure, it returns NULL. .PP \&\fBmemcached_pool_destroy()\fR returns the pointer (and ownership) to the memcached_st structure used to create the pool. If connections are in use it returns NULL. .PP \&\fBmemcached_pool_pop()\fR returns a pointer to a memcached_st structure from the pool (or NULL if an allocation cannot be satisfied). .PP \&\fBmemcached_pool_push()\fR returns MEMCACHED_SUCCESS upon success. .PP \&\fBmemcached_pool_behavior_get()\fR and \fBmemcached_pool_behavior_get()\fR returns MEMCACHED_SUCCESS upon success. .SH HOME .IX Header "HOME" To find out more information please check: .SH AUTHOR .IX Header "AUTHOR" Trond Norbye, .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fBmemcached\fR\|(1) \fBlibmemcached\fR\|(3) \fBmemcached_create\fR\|(3) \fBmemcached_free\fR\|(3) \fBlibmemcachedutil\fR\|(3) \fBmemcached_behavior_get\fR\|(3) \fBmemcached_behavior_set\fR\|(3)