Update docs for error messages.
[awesomized/libmemcached] / libmemcached / constants.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: Constants for libmemcached
9 *
10 */
11
12 #pragma once
13 #ifndef __LIBMEMCACHED_CONSTANTS_H__
14 #define __LIBMEMCACHED_CONSTANTS_H__
15
16 /* Public defines */
17 #define MEMCACHED_DEFAULT_PORT 11211
18 #define MEMCACHED_MAX_KEY 251 /* We add one to have it null terminated */
19 #define MEMCACHED_MAX_BUFFER 8196
20 #define MEMCACHED_MAX_HOST_SORT_LENGTH 86 /* Used for Ketama */
21 #define MEMCACHED_POINTS_PER_SERVER 100
22 #define MEMCACHED_POINTS_PER_SERVER_KETAMA 160
23 #define MEMCACHED_CONTINUUM_SIZE MEMCACHED_POINTS_PER_SERVER*100 /* This would then set max hosts to 100 */
24 #define MEMCACHED_STRIDE 4
25 #define MEMCACHED_DEFAULT_TIMEOUT 5000
26 #define MEMCACHED_DEFAULT_CONNECT_TIMEOUT 4000
27 #define MEMCACHED_CONTINUUM_ADDITION 10 /* How many extra slots we should build for in the continuum */
28 #define MEMCACHED_PREFIX_KEY_MAX_SIZE 128
29 #define MEMCACHED_EXPIRATION_NOT_ADD 0xffffffffU
30 #define MEMCACHED_VERSION_STRING_LENGTH 24
31
32
33 enum memcached_server_distribution_t {
34 MEMCACHED_DISTRIBUTION_MODULA,
35 MEMCACHED_DISTRIBUTION_CONSISTENT,
36 MEMCACHED_DISTRIBUTION_CONSISTENT_KETAMA,
37 MEMCACHED_DISTRIBUTION_RANDOM,
38 MEMCACHED_DISTRIBUTION_CONSISTENT_KETAMA_SPY,
39 MEMCACHED_DISTRIBUTION_CONSISTENT_WEIGHTED,
40 MEMCACHED_DISTRIBUTION_VIRTUAL_BUCKET,
41 MEMCACHED_DISTRIBUTION_CONSISTENT_MAX
42 };
43
44 #ifndef __cplusplus
45 typedef enum memcached_server_distribution_t memcached_server_distribution_t;
46 #endif
47
48 typedef enum {
49 MEMCACHED_BEHAVIOR_NO_BLOCK,
50 MEMCACHED_BEHAVIOR_TCP_NODELAY,
51 MEMCACHED_BEHAVIOR_HASH,
52 MEMCACHED_BEHAVIOR_KETAMA,
53 MEMCACHED_BEHAVIOR_SOCKET_SEND_SIZE,
54 MEMCACHED_BEHAVIOR_SOCKET_RECV_SIZE,
55 MEMCACHED_BEHAVIOR_CACHE_LOOKUPS,
56 MEMCACHED_BEHAVIOR_SUPPORT_CAS,
57 MEMCACHED_BEHAVIOR_POLL_TIMEOUT,
58 MEMCACHED_BEHAVIOR_DISTRIBUTION,
59 MEMCACHED_BEHAVIOR_BUFFER_REQUESTS,
60 MEMCACHED_BEHAVIOR_USER_DATA,
61 MEMCACHED_BEHAVIOR_SORT_HOSTS,
62 MEMCACHED_BEHAVIOR_VERIFY_KEY,
63 MEMCACHED_BEHAVIOR_CONNECT_TIMEOUT,
64 MEMCACHED_BEHAVIOR_RETRY_TIMEOUT,
65 MEMCACHED_BEHAVIOR_KETAMA_WEIGHTED,
66 MEMCACHED_BEHAVIOR_KETAMA_HASH,
67 MEMCACHED_BEHAVIOR_BINARY_PROTOCOL,
68 MEMCACHED_BEHAVIOR_SND_TIMEOUT,
69 MEMCACHED_BEHAVIOR_RCV_TIMEOUT,
70 MEMCACHED_BEHAVIOR_SERVER_FAILURE_LIMIT,
71 MEMCACHED_BEHAVIOR_IO_MSG_WATERMARK,
72 MEMCACHED_BEHAVIOR_IO_BYTES_WATERMARK,
73 MEMCACHED_BEHAVIOR_IO_KEY_PREFETCH,
74 MEMCACHED_BEHAVIOR_HASH_WITH_PREFIX_KEY,
75 MEMCACHED_BEHAVIOR_NOREPLY,
76 MEMCACHED_BEHAVIOR_USE_UDP,
77 MEMCACHED_BEHAVIOR_AUTO_EJECT_HOSTS,
78 MEMCACHED_BEHAVIOR_NUMBER_OF_REPLICAS,
79 MEMCACHED_BEHAVIOR_RANDOMIZE_REPLICA_READ,
80 MEMCACHED_BEHAVIOR_CORK,
81 MEMCACHED_BEHAVIOR_TCP_KEEPALIVE,
82 MEMCACHED_BEHAVIOR_TCP_KEEPIDLE,
83 MEMCACHED_BEHAVIOR_LOAD_FROM_FILE,
84 MEMCACHED_BEHAVIOR_REMOVE_FAILED_SERVERS,
85 MEMCACHED_BEHAVIOR_MAX
86 } memcached_behavior_t;
87
88 typedef enum {
89 MEMCACHED_CALLBACK_PREFIX_KEY = 0,
90 MEMCACHED_CALLBACK_USER_DATA = 1,
91 MEMCACHED_CALLBACK_CLEANUP_FUNCTION = 2,
92 MEMCACHED_CALLBACK_CLONE_FUNCTION = 3,
93 #ifdef MEMCACHED_ENABLE_DEPRECATED
94 MEMCACHED_CALLBACK_MALLOC_FUNCTION = 4,
95 MEMCACHED_CALLBACK_REALLOC_FUNCTION = 5,
96 MEMCACHED_CALLBACK_FREE_FUNCTION = 6,
97 #endif
98 MEMCACHED_CALLBACK_GET_FAILURE = 7,
99 MEMCACHED_CALLBACK_DELETE_TRIGGER = 8,
100 MEMCACHED_CALLBACK_MAX
101 } memcached_callback_t;
102
103 typedef enum {
104 MEMCACHED_HASH_DEFAULT= 0,
105 MEMCACHED_HASH_MD5,
106 MEMCACHED_HASH_CRC,
107 MEMCACHED_HASH_FNV1_64,
108 MEMCACHED_HASH_FNV1A_64,
109 MEMCACHED_HASH_FNV1_32,
110 MEMCACHED_HASH_FNV1A_32,
111 MEMCACHED_HASH_HSIEH,
112 MEMCACHED_HASH_MURMUR,
113 MEMCACHED_HASH_JENKINS,
114 MEMCACHED_HASH_CUSTOM,
115 MEMCACHED_HASH_MAX
116 } memcached_hash_t;
117
118 typedef enum {
119 MEMCACHED_CONNECTION_UNKNOWN,
120 MEMCACHED_CONNECTION_TCP,
121 MEMCACHED_CONNECTION_UDP,
122 MEMCACHED_CONNECTION_UNIX_SOCKET,
123 MEMCACHED_CONNECTION_MAX
124 } memcached_connection_t;
125
126 #endif /* __LIBMEMCACHED_CONSTANTS_H__ */