hce-node application  1.4.3
HCE Hierarchical Cluster Engine node application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Aerospike.hpp
Go to the documentation of this file.
1 
15 #ifndef AEROSPIKE_DB_HPP
16 #define AEROSPIKE_DB_HPP
17 
18 
19 #include <string>
20 #include <Poco/URI.h>
21 #include "BaseDB.hpp"
22 
23 #include "citrusleaf/citrusleaf.h"
24 
25 
26 namespace HCE {
27 
28 class AerospikeDB : public BaseDB {
29 public:
30  AerospikeDB();
31  virtual ~AerospikeDB();
32 public:
33  void setDriverUrl( const std::string & dbUrl);
34  void put(const std::string&, const std::string&);
35  std::string get(const std::string&);
36  virtual std::vector<std::string> get_all();
37  void del(const std::string&);
38  inline int getLastError() const { return _error; }
39 private:
40  cl_cluster *_clc;
41  cl_write_parameters _clwp;
42 public:
43  static std::vector<std::string> documents;
44 private:
45  enum {TIMEOUT=2000};
46  enum {DEFAULT_DOCUMENT=0};
47  const std::string docs[1] = {"document"};
48  enum {DEFAULT_SET=0};
49  const std::string sets[1] = {"default_set"};
50 private:
51  template<class T>
52  inline void SAFE_DELETE(T* ptr) {if(ptr){free(ptr);ptr=0;}}
53 
54  //int cb (char*, cf_digest*, char*, uint32_t, uint32_t, cl_bin*, int, bool, void*);
55 };
56 
57 }
58 
59 
60 #endif //AEROSPIKE_DB_HPP