Couchbase C Client
2.9.4
Asynchronous C Client for Couchbase
|
Get/Set Library Options.
The lcb_cntl() function and its various helpers are the means by which to modify settings within the library
Modules | |
Setting List | |
Adjust tunables for the client. | |
Functions | |
lcb_error_t | lcb_cntl (lcb_t instance, int mode, int cmd, void *arg) |
This function exposes an ioctl/fcntl-like interface to read and write various configuration properties to and from an lcb_t handle. More... | |
lcb_error_t | lcb_cntl_string (lcb_t instance, const char *key, const char *value) |
Alternatively one may change configuration settings by passing a string key and value. More... | |
lcb_error_t | lcb_cntl_setu32 (lcb_t instance, int cmd, lcb_U32 arg) |
Convenience function to set a value as an lcb_U32 More... | |
lcb_U32 | lcb_cntl_getu32 (lcb_t instance, int cmd) |
Retrieve an lcb_U32 setting More... | |
int | lcb_cntl_exists (int ctl) |
Determine if a specific control code exists. More... | |
lcb_error_t lcb_cntl | ( | lcb_t | instance, |
int | mode, | ||
int | cmd, | ||
void * | arg | ||
) |
This function exposes an ioctl/fcntl-like interface to read and write various configuration properties to and from an lcb_t handle.
instance | The instance to modify |
mode | One of LCB_CNTL_GET (to retrieve a setting) or LCB_CNTL_SET (to modify a setting). Note that not all configuration properties support SET. |
cmd | The specific command/property to modify. This is one of the LCB_CNTL_* constants defined in this file. Note that it is safe (and even recommanded) to use the raw numeric value (i.e. to be backwards and forwards compatible with libcouchbase versions), as they are not subject to change. |
Using the actual value may be useful in ensuring your application will still compile with an older libcouchbase version (though you may get a runtime error (see return) if the command is not supported
arg | The argument passed to the configuration handler. The actual type of this pointer is dependent on the command in question. Typically for GET operations, the value of 'arg' is set to the current configuration value; and for SET operations, the current configuration is updated with the contents of *arg. |
The following error codes are returned if the LCB_CNTL_DETAILED_ERRCODES are enabled.
lcb_error_t lcb_cntl_string | ( | lcb_t | instance, |
const char * | key, | ||
const char * | value | ||
) |
Alternatively one may change configuration settings by passing a string key and value.
This may be used to provide a simple interface from a command line or higher level language to allow the setting of specific key-value pairs.
The format for the value is dependent on the option passed, the following value types exist:
"1.5"
for 1.5 seconds), or in microseconds ("1500000"
). In releases prior to libcouchbase 2.8, this was called timeout."1"
) or the string "true"
. A false value is a zero (i.e. "0"
) or the string "false"
."2.4"
.char *
, e.g. for client identification string.Code | Name | Type |
---|---|---|
LCB_CNTL_OP_TIMEOUT | "operation_timeout" | Timeval |
LCB_CNTL_VIEW_TIMEOUT | "view_timeout" | Timeval |
LCB_CNTL_N1QL_TIMEOUT | "n1ql_timeout" | Timeval |
LCB_CNTL_HTTP_TIMEOUT | "http_timeout" | Timeval |
LCB_CNTL_CONFIG_POLL_INTERVAL | "config_poll_interval" | Timeval |
LCB_CNTL_CONFERRTHRESH | "error_thresh_count" | Number (Positive) |
LCB_CNTL_CONFIGURATION_TIMEOUT | "config_total_timeout" | Timeval |
LCB_CNTL_CONFIG_NODE_TIMEOUT | "config_node_timeout" | Timeval |
LCB_CNTL_CONFDELAY_THRESH | "error_thresh_delay" | Timeval |
LCB_CNTL_DURABILITY_TIMEOUT | "durability_timeout" | Timeval |
LCB_CNTL_DURABILITY_INTERVAL | "durability_interval" | Timeval |
LCB_CNTL_RANDOMIZE_BOOTSTRAP_HOSTS | "randomize_nodes" | Boolean |
LCB_CNTL_CONFIGCACHE | "config_cache" | Path |
LCB_CNTL_DETAILED_ERRCODES | "detailed_errcodes" | Boolean |
LCB_CNTL_HTCONFIG_URLTYPE | "http_urlmode" | Number (enum lcb_HTCONFIG_URLTYPE) |
LCB_CNTL_RETRY_BACKOFF | "retry_backoff" | Float |
LCB_CNTL_RETRY_INTERVAL | "retry_interval" | Timeval |
LCB_CNTL_HTTP_POOLSIZE | "http_poolsize" | Number |
LCB_CNTL_VBGUESS_PERSIST | "vbguess_persist" | Boolean |
LCB_CNTL_CONLOGGER_LEVEL | "console_log_level" | Number (enum lcb_log_severity_t) |
LCB_CNTL_FETCH_MUTATION_TOKENS | "fetch_mutation_tokens" | Boolean |
LCB_CNTL_DURABILITY_MUTATION_TOKENS | "dur_mutation_tokens" | Boolean |
LCB_CNTL_TCP_NODELAY | "tcp_nodelay" | Boolean |
LCB_CNTL_CONLOGGER_FP | "console_log_file" | FILE*, Path |
LCB_CNTL_CLIENT_STRING | "client_string" | String |
LCB_CNTL_TCP_KEEPALIVE | "tcp_keepalive" | Boolean |
LCB_CNTL_CONFIG_POLL_INTERVAL | "config_poll_interval" | Timeval |
LCB_CNTL_IP6POLICY | "ipv6" | String ("disabled", "only", "allow") |
lcb_error_t lcb_cntl_setu32 | ( | lcb_t | instance, |
int | cmd, | ||
lcb_U32 | arg | ||
) |
Convenience function to set a value as an lcb_U32
instance | |
cmd | setting to modify |
arg | the new value |
lcb_U32 lcb_cntl_getu32 | ( | lcb_t | instance, |
int | cmd | ||
) |
Retrieve an lcb_U32 setting
instance | |
cmd | setting to retrieve |
int lcb_cntl_exists | ( | int | ctl | ) |
Determine if a specific control code exists.
ctl | the code to check for |