All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Macros | Functions
citrusleaf.h File Reference
#include <citrusleaf/cl_types.h>
#include <citrusleaf/cl_async.h>
#include <citrusleaf/cl_cluster.h>
#include <citrusleaf/cl_object.h>
#include <citrusleaf/cl_write.h>
#include <citrusleaf/cl_info.h>
#include <citrusleaf/cl_kv.h>
#include <citrusleaf/cl_lookup.h>
#include <citrusleaf/cl_partition.h>
#include <citrusleaf/cl_scan.h>
#include <citrusleaf/cl_batch.h>
+ Include dependency graph for citrusleaf.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define INFO_TIMEOUT_MS   500
 

Functions

int citrusleaf_calculate_digest (const char *set, const cl_object *key, cf_digest *digest)
 
void citrusleaf_change_tend_speed (int secs)
 
int citrusleaf_cluster_change_compression_threshold (cl_cluster *asc, int size_in_bytes)
 
void citrusleaf_cluster_get_compression_stat (cl_cluster *asc, uint64_t *actual_sz, uint64_t *compressed_sz)
 
void citrusleaf_cluster_put_compression_stat (cl_cluster *asc, uint64_t actual_sz, uint64_t compressed_sz)
 
cl_rv citrusleaf_delete_verify (cl_cluster *asc, const char *ns, const char *set, const cl_object *key, const cl_write_parameters *cl_w_p)
 
int citrusleaf_init (void)
 
cl_rv citrusleaf_operate (cl_cluster *asc, const char *ns, const char *set, const cl_object *key, cl_operation *operations, int n_operations, const cl_write_parameters *cl_w_p, uint32_t *generation, uint32_t *ttl)
 
cl_rv citrusleaf_operate_digest (cl_cluster *asc, const char *ns, const char *set, cf_digest *d, cl_operation *operations, int n_operations, const cl_write_parameters *cl_w_p, uint32_t *generation, uint32_t *ttl)
 
void citrusleaf_print_stats (void)
 
void citrusleaf_set_debug (bool debug_flag)
 
void citrusleaf_shutdown (void)
 
cl_rv citrusleaf_verify (cl_cluster *asc, const char *ns, const char *set, const cl_object *key, const cl_bin *bins, int n_bins, int timeout_ms, uint32_t *cl_gen)
 

Macro Definition Documentation

#define INFO_TIMEOUT_MS   500

All citrusleaf functions return an integer. This integer is 0 if the call has succeeded, and a negative number if it has failed. All returns of pointers and objects are done through the parameters. (When in C++, use & parameters for return, but we're not there yet)

'void' return functions are only used for functions that are syntactically unable to fail.

Definition at line 55 of file citrusleaf.h.

Function Documentation

int citrusleaf_calculate_digest ( const char *  set,
const cl_object key,
cf_digest *  digest 
)

This debugging call can be useful for tracking down errors and coordinating with server failures gets the digest for a particular set and key

void citrusleaf_change_tend_speed ( int  secs)
int citrusleaf_cluster_change_compression_threshold ( cl_cluster *  asc,
int  size_in_bytes 
)
void citrusleaf_cluster_get_compression_stat ( cl_cluster *  asc,
uint64_t *  actual_sz,
uint64_t *  compressed_sz 
)
void citrusleaf_cluster_put_compression_stat ( cl_cluster *  asc,
uint64_t  actual_sz,
uint64_t  compressed_sz 
)
cl_rv citrusleaf_delete_verify ( cl_cluster *  asc,
const char *  ns,
const char *  set,
const cl_object key,
const cl_write_parameters cl_w_p 
)
int citrusleaf_init ( void  )

Call this init function sometime early, create our mutexes and a few other things. We'd prefer if this is only called once

cl_rv citrusleaf_operate ( cl_cluster *  asc,
const char *  ns,
const char *  set,
const cl_object key,
cl_operation operations,
int  n_operations,
const cl_write_parameters cl_w_p,
uint32_t *  generation,
uint32_t *  ttl 
)

This call allows the caller to specify the operation - read, write, add, etc. Multiple operations can be specified in a single call.

cl_rv citrusleaf_operate_digest ( cl_cluster *  asc,
const char *  ns,
const char *  set,
cf_digest *  d,
cl_operation operations,
int  n_operations,
const cl_write_parameters cl_w_p,
uint32_t *  generation,
uint32_t *  ttl 
)
void citrusleaf_print_stats ( void  )

This call will print stats to stderr

void citrusleaf_set_debug ( bool  debug_flag)
void citrusleaf_shutdown ( void  )

If you wish to free up resources used by the citrusleaf client in your process, call this - all cl_conn will be invalid, and you'll have to call citrusleaf_init again to do anything

cl_rv citrusleaf_verify ( cl_cluster *  asc,
const char *  ns,
const char *  set,
const cl_object key,
const cl_bin bins,
int  n_bins,
int  timeout_ms,
uint32_t *  cl_gen 
)

This call is good for testing. Call it when you think you know the values. If the key doesn't exist, or the data is incorrect, then the server that is serving the request will spit a failure, and if you're running in the right server debug mode you can examine the error in detail.