More Cleanup
[m6w6/libmemcached] / libmemcached / util / pool.h
1 /* LibMemcached
2 * Copyright (C) 2006-2009 Brian Aker
3 * All rights reserved.
4 *
5 * Use and distribution licensed under the BSD license. See
6 * the COPYING file in the parent directory for full text.
7 *
8 * Summary: Connection pool implementation for libmemcached.
9 *
10 */
11
12
13 #ifndef __LIMEMCACHED_UTIL_POOL_H__
14 #define __LIMEMCACHED_UTIL_POOL_H__
15
16 #include <libmemcached/memcached.h>
17
18 #ifdef __cplusplus
19 extern "C" {
20 #endif
21
22 struct memcached_pool_st;
23 typedef struct memcached_pool_st memcached_pool_st;
24
25 LIBMEMCACHED_API
26 memcached_pool_st *memcached_pool_create(memcached_st* mmc, uint32_t initial,
27 uint32_t max);
28 LIBMEMCACHED_API
29 memcached_st* memcached_pool_destroy(memcached_pool_st* pool);
30 LIBMEMCACHED_API
31 memcached_st* memcached_pool_pop(memcached_pool_st* pool,
32 bool block,
33 memcached_return_t* rc);
34 LIBMEMCACHED_API
35 memcached_return_t memcached_pool_push(memcached_pool_st* pool,
36 memcached_st* mmc);
37
38 LIBMEMCACHED_API
39 memcached_return_t memcached_pool_behavior_set(memcached_pool_st *ptr,
40 memcached_behavior_t flag,
41 uint64_t data);
42 LIBMEMCACHED_API
43 memcached_return_t memcached_pool_behavior_get(memcached_pool_st *ptr,
44 memcached_behavior_t flag,
45 uint64_t *value);
46
47 #ifdef __cplusplus
48 } // extern "C"
49 #endif
50
51 #endif /* __LIMEMCACHED_UTIL_POOL_H__ */