.\" Automatically generated by Pod::Man 4.07 (Pod::Simple 3.32) .\" .\" 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 .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . 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 .. .if !\nF .nr F 0 .if \nF>0 \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} .\} .\" ======================================================================== .\" .IX Title "Memcached::libmemcached::memcached_pool 3pm" .TH Memcached::libmemcached::memcached_pool 3pm "2016-07-02" "perl v5.24.1" "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" \&\fImemcached_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 \&\s-1MAXINT\s0 or some other large number here. .PP \&\fImemcached_pool_destroy()\fR is used to destroy the connection pool created with \fImemcached_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 \fImemcached_pool_create()\fR, and returns the ownership of the pointer to the caller. .PP \&\fImemcached_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 \&\fImemcached_pool_push()\fR is used to return a connection structure back to the pool. .PP \&\fImemcached_pool_behavior_set()\fR and \fImemcached_pool_behagior_get()\fR is used to get/set behavior flags on all connections in the pool. .SH "RETURN" .IX Header "RETURN" \&\fImemcached_pool_create()\fR returns a pointer to the newly created memcached_pool_st structure. On an allocation failure, it returns \&\s-1NULL.\s0 .PP \&\fImemcached_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 \s-1NULL.\s0 .PP \&\fImemcached_pool_pop()\fR returns a pointer to a memcached_st structure from the pool (or \s-1NULL\s0 if an allocation cannot be satisfied). .PP \&\fImemcached_pool_push()\fR returns \s-1MEMCACHED_SUCCESS\s0 upon success. .PP \&\fImemcached_pool_behavior_get()\fR and \fImemcached_pool_behavior_get()\fR returns \s-1MEMCACHED_SUCCESS\s0 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" \&\fImemcached\fR\|(1) \fIlibmemcached\fR\|(3) \fImemcached_create\fR\|(3) \fImemcached_free\fR\|(3) \fIlibmemcachedutil\fR\|(3) \fImemcached_behavior_get\fR\|(3) \fImemcached_behavior_set\fR\|(3)