Apache HTTPD
apr_memcache.h
Go to the documentation of this file.
1/* Licensed to the Apache Software Foundation (ASF) under one or more
2 * contributor license agreements. See the NOTICE file distributed with
3 * this work for additional information regarding copyright ownership.
4 * The ASF licenses this file to You under the Apache License, Version 2.0
5 * (the "License"); you may not use this file except in compliance with
6 * the License. You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17#ifndef APR_MEMCACHE_H
18#define APR_MEMCACHE_H
19
28#include "apr.h"
29#include "apr_pools.h"
30#include "apr_time.h"
31#include "apr_strings.h"
32#include "apr_network_io.h"
33#include "apr_ring.h"
34#include "apr_buckets.h"
35#include "apr_reslist.h"
36#include "apr_hash.h"
37
38#ifdef __cplusplus
39extern "C" {
40#endif /* __cplusplus */
41
54
57
61{
62 const char *host;
65#if APR_HAS_THREADS || defined(DOXYGEN)
67#else
69#endif
71#if APR_HAS_THREADS
73#endif
75};
76
77/* Custom hash callback function prototype, user for server selection.
78* @param baton user selected baton
79* @param data data to hash
80* @param data_len length of data
81*/
83 const char *data,
84 const apr_size_t data_len);
85
87
88/* Custom Server Select callback function prototype.
89* @param baton user selected baton
90* @param mc memcache instance, use mc->live_servers to select a node
91* @param hash hash of the selected key.
92*/
93typedef apr_memcache_server_t* (*apr_memcache_server_func)(void *baton,
95 const apr_uint32_t hash);
96
110
120
130 const char *data,
132
137 const char *data,
138 const apr_size_t data_len);
139
144 const char *data,
145 const apr_size_t data_len);
146
156
162 const apr_uint32_t hash);
163
174
175
184 const char *host,
186
194
195
203
218 const char *host,
236
249 const char* key,
250 char **baton,
253
254
264 const char* key,
266
281
292 const char *key,
293 char *baton,
297
310 const char *key,
311 char *baton,
312 const apr_size_t data_size,
315
328 const char *key,
329 char *baton,
330 const apr_size_t data_size,
340 const char *key,
342
351 const char *key,
354
363 const char *key,
366
375 apr_pool_t *p,
376 char **baton);
377
426
434 apr_pool_t *p,
436
437
440#ifdef __cplusplus
441}
442#endif
443
444#endif /* APR_MEMCACHE_H */
APR-UTIL Buckets/Bucket Brigades.
APR Hash Tables.
apr_memcache_version(apr_memcache_server_t *ms, apr_pool_t *p, char **baton)
apr_memcache_multgetp(apr_memcache_t *mc, apr_pool_t *temp_pool, apr_pool_t *data_pool, apr_hash_t *values)
apr_memcache_find_server_hash(apr_memcache_t *mc, const apr_uint32_t hash)
apr_memcache_add(apr_memcache_t *mc, const char *key, char *data, const apr_size_t data_size, apr_uint32_t timeout, apr_uint16_t flags)
apr_memcache_add_multget_key(apr_pool_t *data_pool, const char *key, apr_hash_t **values)
apr_memcache_incr(apr_memcache_t *mc, const char *key, apr_int32_t inc, apr_uint32_t *new_value)
apr_memcache_set(apr_memcache_t *mc, const char *key, char *data, const apr_size_t data_size, apr_uint32_t timeout, apr_uint16_t flags)
apr_memcache_delete(apr_memcache_t *mc, const char *key, apr_uint32_t timeout)
apr_memcache_decr(apr_memcache_t *mc, const char *key, apr_int32_t inc, apr_uint32_t *new_value)
apr_memcache_find_server_hash_default(void *baton, apr_memcache_t *mc, const apr_uint32_t hash)
apr_memcache_replace(apr_memcache_t *mc, const char *key, char *data, const apr_size_t data_size, apr_uint32_t timeout, apr_uint16_t flags)
apr_memcache_getp(apr_memcache_t *mc, apr_pool_t *p, const char *key, char **baton, apr_size_t *new_length, apr_uint16_t *flags_)
apr_memcache_stats(apr_memcache_server_t *ms, apr_pool_t *p, apr_memcache_stats_t **stats)
APR Network library.
APR memory allocation.
APR-UTIL Resource List Routines.
APR Rings.
APR Strings library.
APR Time Library.
static sem_id lock
Definition threadpriv.c:21
apr_memcache_t * mc
apr_pool_t apr_pool_t * data_pool
const char apr_port_t port
const char apr_int32_t apr_uint32_t * nv
apr_memcache_server_t *(* apr_memcache_server_func)(void *baton, apr_memcache_t *mc, const apr_uint32_t hash)
APU_DECLARE(void) apr_memcache_add_multget_key(apr_pool_t *data_pool
Computes SipHash-2-4, producing a 64bit (APR_SIPHASH_DSIZE) hash from a message and a 128bit (APR_SIP...
Definition apr_sha1.c:206
const char const apr_size_t data_len
const char apr_port_t apr_uint32_t apr_uint32_t apr_uint32_t max
apr_memcache_server_status_t
apr_pool_t const char char ** baton
const char apr_port_t apr_uint32_t apr_uint32_t apr_uint32_t apr_uint32_t apr_memcache_server_t ** ns
const char apr_port_t apr_uint32_t apr_uint32_t smax
const char apr_hash_t ** values
apr_pool_t * p
apr_uint32_t(* apr_memcache_hash_func)(void *baton, const char *data, const apr_size_t data_len)
const char char const apr_size_t data_size
apr_uint16_t max_servers
const char apr_int32_t apr_uint32_t * new_value
const char apr_port_t apr_uint32_t apr_uint32_t apr_uint32_t apr_uint32_t ttl
const char * host
apr_memcache_server_t * server
apr_pool_t * temp_pool
apr_memcache_server_t * ms
apr_uint16_t apr_uint32_t flags
const char apr_int32_t n
const char * data
apr_pool_t const char * key
apr_pool_t const char char apr_size_t * len
const char apr_port_t apr_uint32_t min
const apr_uint32_t hash
apr_pool_t apr_memcache_stats_t ** stats
@ APR_MC_SERVER_LIVE
@ APR_MC_SERVER_DEAD
apr_size_t size
int apr_status_t
Definition apr_errno.h:44
apr_uint16_t apr_port_t
apr_int64_t apr_time_t
Definition apr_time.h:45
apr_memcache_server_status_t status
apr_memcache_conn_t * conn
apr_uint32_t pointer_size
apr_uint64_t bytes_written
apr_uint32_t curr_connections
apr_uint32_t total_items
apr_uint32_t total_connections
apr_uint32_t get_hits
apr_uint32_t curr_items
apr_uint32_t connection_structures
apr_uint64_t bytes_read
apr_uint64_t evictions
apr_uint32_t limit_maxbytes
apr_uint32_t get_misses
apr_memcache_server_func server_func
apr_pool_t * p
apr_memcache_server_t ** live_servers
apr_uint16_t ntotal
apr_uint16_t nalloc
apr_memcache_hash_func hash_func
apr_uint32_t flags
IN ULONG IN INT timeout