Couchbase C Client  2.7.7
cntl-private.h
Go to the documentation of this file.
1 /* -*- Mode: C; tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- */
2 /*
3  * Copyright 2014 Couchbase, Inc.
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17 
27 #define LCB_CNTL_SERVER_COMMON_FIELDS \
28  \
29  int index; \
30  \
31  \
32  const char *host; \
33  \
34  const char *port; \
35  \
36  int connected; \
37  \
38  \
48  union { \
49  lcb_socket_t sockfd; \
50  lcb_sockdata_t *sockptr; \
51  } sock; \
52 
53 
57 typedef struct lcb_cntl_server_st {
59  int version;
60 
61  union {
62  struct {
63  LCB_CNTL_SERVER_COMMON_FIELDS
64  } v0;
65 
67  struct {
68  LCB_CNTL_SERVER_COMMON_FIELDS
70  const char *sasl_mech;
71  } v1;
72  } v;
73 } lcb_cntl_server_t;
74 #undef LCB_CNTL_SERVER_COMMON_FIELDS
75 
93 #define LCB_CNTL_MEMDNODE_INFO 0x08
94 
105 #define LCB_CNTL_CONFIGNODE_INFO 0x09
106 
110 struct lcb_cntl_iops_info_st {
111  int version;
112  union {
113  struct {
119  const struct lcb_create_io_ops_st *options;
120 
126  lcb_io_ops_type_t os_default;
127 
133  lcb_io_ops_type_t effective;
134  } v0;
135  } v;
136 };
137 
153 #define LCB_CNTL_IOPS_DEFAULT_TYPES 0x10
154 
174 #define LCB_CNTL_CONFIG_HTTP_NODES 0x1D
175 
186 #define LCB_CNTL_CONFIG_CCCP_NODES 0x1E
187 
204 #define LCB_CNTL_CONFIG_ALL_NODES 0x20
205 
218 #define LCB_CNTL_REINIT_CONNSTR 0x2B
219 
223 typedef enum {
228 
234  LCB_COMPRESS_IN = 1 << 0,
235 
242 
243 
244  LCB_COMPRESS_INOUT = (LCB_COMPRESS_IN|LCB_COMPRESS_OUT),
245 
257 
280 #define LCB_CNTL_COMPRESSION_OPTS 0x26
281 
282 
283 struct rdb_ALLOCATOR;
284 typedef struct rdb_ALLOCATOR* (*lcb_RDBALLOCFACTORY)(void);
285 
290  lcb_RDBALLOCFACTORY factory;
291 };
303 #define LCB_CNTL_RDBALLOCFACTORY 0x27
304 
305 
306 typedef enum {
307  LCB_IPV6_DISABLED = 0x00, LCB_IPV6_ONLY = 0x1, LCB_IPV6_ALLOW = 0x02
308 } lcb_ipv6_t;
309 
318 #define LCB_CNTL_IP6POLICY 0x0b
319 
320 
329 #define LCB_CNTL_VBGUESS_PERSIST 0x32
330 
336 #define LCB_CNTL_UNSAFE_OPTIMIZE 0x33
337 
347 #define LCB_CNTL_TCP_NODELAY 0x39
348 
354 #define LCB_CNTL_KVTIMINGS 0x3C
355 
Decompress incoming data, if the data has been compressed at the server.
Definition: cntl-private.h:234
lcb_COMPRESSOPTS
Options for how to handle compression.
Definition: cntl-private.h:223
uncommitted
Definition: iops.h:1004
lcb_io_ops_type_t
Built-in I/O plugins.
Definition: iops.h:978
Do not perform compression in any direction.
Definition: cntl-private.h:227
By default the library will send a HELLO command to the server to determine whether compression is su...
Definition: cntl-private.h:255
Compress outgoing data.
Definition: cntl-private.h:241
Structure being used because function pointers can&#39;t technically be cast to void*.
Definition: cntl-private.h:289