Apache HTTPD
apr_redis.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
24#ifndef APR_REDIS_H
25#define APR_REDIS_H
26
27#include "apr.h"
28#include "apr_pools.h"
29#include "apr_time.h"
30#include "apr_strings.h"
31#include "apr_network_io.h"
32#include "apr_ring.h"
33#include "apr_buckets.h"
34#include "apr_reslist.h"
35#include "apr_hash.h"
36
37#ifdef __cplusplus
38extern "C" {
39#endif /* __cplusplus */
40
41#ifndef RC_DEFAULT_SERVER_PORT
42#define RC_DEFAULT_SERVER_PORT 6379
43#endif
44
45#ifndef RC_DEFAULT_SERVER_MIN
46#define RC_DEFAULT_SERVER_MIN 0
47#endif
48
49#ifndef RC_DEFAULT_SERVER_SMAX
50#define RC_DEFAULT_SERVER_SMAX 1
51#endif
52
53#ifndef RC_DEFAULT_SERVER_TTL
54#define RC_DEFAULT_SERVER_TTL 600
55#endif
56
69
72
76{
77 const char *host;
80#if APR_HAS_THREADS || defined(DOXYGEN)
82#else
84#endif
86#if APR_HAS_THREADS
88#endif
91 struct
92 {
93 int major;
94 int minor;
95 int patch;
96 char *number;
98};
99
101
102/* Custom hash callback function prototype, user for server selection.
103* @param baton user selected baton
104* @param data data to hash
105* @param data_len length of data
106*/
108 const char *data,
109 const apr_size_t data_len);
110/* Custom Server Select callback function prototype.
111* @param baton user selected baton
112* @param rc redis instance, use rc->live_servers to select a node
113* @param hash hash of the selected key.
114*/
115typedef apr_redis_server_t* (*apr_redis_server_func)(void *baton,
117 const apr_uint32_t hash);
118
132
142 const char *data,
144
149 const char *data,
150 const apr_size_t data_len);
151
156 const char *data,
157 const apr_size_t data_len);
158
168
174 const apr_uint32_t hash);
175
186
187
196 const char *host,
198
206
207
215
231 const char *host,
249 apr_redis_t **rc);
250
263 const char* key,
264 char **baton,
267
277 const char *key,
278 char *baton,
281
292 const char *key,
293 char *baton,
294 const apr_size_t data_size,
297
305 const char *key,
307
315 apr_pool_t *p,
316 char **baton);
317
325 apr_pool_t *p,
326 char **baton);
327
336 const char *key,
347 const char *key,
350
351
357
372
379
442
450 apr_pool_t *p,
452
455#ifdef __cplusplus
456}
457#endif
458
459#endif /* APR_REDIS_H */
APR-UTIL Buckets/Bucket Brigades.
APR Hash Tables.
APR Network library.
APR memory allocation.
apr_redis_find_server_hash(apr_redis_t *rc, const apr_uint32_t hash)
Definition apr_redis.c:158
apr_redis_delete(apr_redis_t *rc, const char *key, apr_uint32_t timeout)
Definition apr_redis.c:1005
apr_redis_multgetp(apr_redis_t *rc, apr_pool_t *temp_pool, apr_pool_t *data_pool, apr_hash_t *values)
Definition apr_redis.c:1377
apr_redis_incr(apr_redis_t *rc, const char *key, apr_int32_t inc, apr_uint32_t *new_value)
Definition apr_redis.c:1365
apr_redis_info(apr_redis_server_t *rs, apr_pool_t *p, char **baton)
Definition apr_redis.c:1134
apr_redis_ping(apr_redis_server_t *rs)
Definition apr_redis.c:1087
apr_redis_stats(apr_redis_server_t *rs, apr_pool_t *p, apr_redis_stats_t **stats)
Definition apr_redis.c:1488
apr_redis_find_server_hash_default(void *baton, apr_redis_t *rc, const apr_uint32_t hash)
Definition apr_redis.c:169
apr_redis_version(apr_redis_server_t *rs, apr_pool_t *p, char **baton)
Definition apr_redis.c:1189
apr_redis_decr(apr_redis_t *rc, const char *key, apr_int32_t inc, apr_uint32_t *new_value)
Definition apr_redis.c:1371
APR-UTIL Resource List Routines.
APR Rings.
APU_DECLARE(void)
Computes SipHash-2-4, producing a 64bit (APR_SIPHASH_DSIZE) hash from a message and a 128bit (APR_SIP...
Definition apr_sha1.c:206
APR Strings library.
APR Time Library.
static sem_id lock
Definition threadpriv.c:21
const char apr_port_t apr_uint32_t apr_uint32_t apr_uint32_t apr_uint32_t apr_uint32_t apr_redis_server_t ** ns
Definition apr_redis.h:238
apr_redis_server_t *(* apr_redis_server_func)(void *baton, apr_redis_t *rc, const apr_uint32_t hash)
Definition apr_redis.h:115
apr_pool_t apr_pool_t * data_pool
Definition apr_redis.h:370
const char apr_port_t port
Definition apr_redis.h:197
apr_redis_t * rc
Definition apr_redis.h:173
apr_redis_server_role_t
Definition apr_redis.h:374
apr_uint32_t(* apr_redis_hash_func)(void *baton, const char *data, const apr_size_t data_len)
Definition apr_redis.h:107
apr_redis_server_t * rs
Definition apr_redis.h:205
const char apr_int32_t inc
Definition apr_redis.h:337
const char const apr_size_t data_len
Definition apr_redis.h:143
const char apr_int32_t apr_uint32_t * new_value
Definition apr_redis.h:338
const char apr_port_t apr_uint32_t apr_uint32_t apr_uint32_t max
Definition apr_redis.h:235
apr_pool_t const char char ** baton
Definition apr_redis.h:264
apr_redis_server_t * server
Definition apr_redis.h:185
apr_pool_t apr_pool_t apr_hash_t * values
Definition apr_redis.h:371
const char apr_port_t apr_uint32_t apr_uint32_t smax
Definition apr_redis.h:234
apr_pool_t * p
Definition apr_redis.h:262
const char char const apr_size_t data_size
Definition apr_redis.h:279
apr_uint16_t max_servers
Definition apr_redis.h:247
const char apr_port_t apr_uint32_t apr_uint32_t apr_uint32_t apr_uint32_t ttl
Definition apr_redis.h:236
apr_pool_t apr_redis_stats_t ** stats
Definition apr_redis.h:451
const char * host
Definition apr_redis.h:196
const char apr_port_t apr_uint32_t apr_uint32_t apr_uint32_t apr_uint32_t apr_uint32_t rwto
Definition apr_redis.h:237
apr_redis_server_status_t
Definition apr_redis.h:65
apr_pool_t * temp_pool
Definition apr_redis.h:369
apr_uint16_t apr_uint32_t flags
Definition apr_redis.h:248
const char * data
Definition apr_redis.h:142
apr_pool_t const char * key
Definition apr_redis.h:263
apr_pool_t const char char apr_size_t * len
Definition apr_redis.h:265
const char apr_port_t apr_uint32_t min
Definition apr_redis.h:233
const apr_uint32_t hash
Definition apr_redis.h:167
@ APR_RS_SERVER_MASTER
Definition apr_redis.h:375
@ APR_RS_SERVER_UNKNOWN
Definition apr_redis.h:377
@ APR_RS_SERVER_SLAVE
Definition apr_redis.h:376
@ APR_RC_SERVER_LIVE
Definition apr_redis.h:66
@ APR_RC_SERVER_DEAD
Definition apr_redis.h:67
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_pool_t * p
Definition apr_redis.h:85
apr_uint32_t rwto
Definition apr_redis.h:90
apr_time_t btime
Definition apr_redis.h:89
apr_redis_server_status_t status
Definition apr_redis.h:79
const char * host
Definition apr_redis.h:77
apr_redis_conn_t * conn
Definition apr_redis.h:83
struct apr_redis_server_t::@67 version
apr_port_t port
Definition apr_redis.h:78
apr_uint32_t minor
Definition apr_redis.h:386
apr_uint64_t total_system_memory
Definition apr_redis.h:408
apr_uint32_t cluster_enabled
Definition apr_redis.h:440
apr_uint64_t used_memory
Definition apr_redis.h:406
apr_uint32_t used_cpu_sys
Definition apr_redis.h:434
apr_uint64_t keyspace_hits
Definition apr_redis.h:422
apr_uint64_t total_commands_processed
Definition apr_redis.h:414
apr_uint32_t blocked_clients
Definition apr_redis.h:400
apr_uint32_t connected_clients
Definition apr_redis.h:398
apr_uint32_t major
Definition apr_redis.h:384
apr_uint32_t connected_slaves
Definition apr_redis.h:430
apr_redis_server_role_t role
Definition apr_redis.h:428
apr_uint32_t patch
Definition apr_redis.h:388
apr_uint64_t total_connections_received
Definition apr_redis.h:412
apr_uint64_t keyspace_misses
Definition apr_redis.h:424
apr_uint64_t total_net_output_bytes
Definition apr_redis.h:420
apr_uint64_t rejected_connections
Definition apr_redis.h:416
apr_uint32_t used_cpu_user
Definition apr_redis.h:436
apr_uint32_t process_id
Definition apr_redis.h:390
apr_uint32_t uptime_in_seconds
Definition apr_redis.h:392
apr_uint64_t total_net_input_bytes
Definition apr_redis.h:418
apr_uint64_t maxmemory
Definition apr_redis.h:404
apr_uint32_t arch_bits
Definition apr_redis.h:394
void * hash_baton
Definition apr_redis.h:127
apr_uint16_t nalloc
Definition apr_redis.h:123
void * server_baton
Definition apr_redis.h:129
apr_uint32_t flags
Definition apr_redis.h:122
apr_pool_t * p
Definition apr_redis.h:126
apr_uint16_t ntotal
Definition apr_redis.h:124
apr_redis_hash_func hash_func
Definition apr_redis.h:128
apr_redis_server_func server_func
Definition apr_redis.h:130
apr_redis_server_t ** live_servers
Definition apr_redis.h:125
IN ULONG IN INT timeout