+++ /dev/null
-/*
- * Argument types used by cls_kvs.cc
- *
- * Created on: Aug 10, 2012
- * Author: eleanor
- */
-
-#ifndef CLS_KVS_H_
-#define CLS_KVS_H_
-
-#define EBALANCE 137
-
-#include "include/encoding.h"
-#include "key_value_store/kv_flat_btree_async.h"
-
-using namespace std;
-using ceph::bufferlist;
-
-struct assert_size_args {
- uint64_t bound; //the size to compare to - should be k or 2k
- uint64_t comparator; //should be CEPH_OSD_CMPXATTR_OP_EQ,
- //CEPH_OSD_CMPXATTR_OP_LT, or
- //CEPH_OSD_CMPXATTR_OP_GT
-
- void encode(bufferlist &bl) const {
- ENCODE_START(1,1,bl);
- ::encode(bound, bl);
- ::encode(comparator, bl);
- ENCODE_FINISH(bl);
- }
- void decode(bufferlist::iterator &p) {
- DECODE_START(1, p);
- ::decode(bound, p);
- ::decode(comparator, p);
- DECODE_FINISH(p);
- }
-};
-WRITE_CLASS_ENCODER(assert_size_args)
-
-struct idata_from_key_args {
- string key;
- index_data idata;
- index_data next_idata;
-
- void encode(bufferlist &bl) const {
- ENCODE_START(1,1,bl);
- ::encode(key, bl);
- ::encode(idata, bl);
- ::encode(next_idata, bl);
- ENCODE_FINISH(bl);
- }
- void decode(bufferlist::iterator &p) {
- DECODE_START(1, p);
- ::decode(key, p);
- ::decode(idata, p);
- ::decode(next_idata, p);
- DECODE_FINISH(p);
- }
-};
-WRITE_CLASS_ENCODER(idata_from_key_args)
-
-struct idata_from_idata_args {
- index_data idata;
- index_data next_idata;
-
- void encode(bufferlist &bl) const {
- ENCODE_START(1,1,bl);
- ::encode(idata, bl);
- ::encode(next_idata, bl);
- ENCODE_FINISH(bl);
- }
- void decode(bufferlist::iterator &p) {
- DECODE_START(1, p);
- ::decode(idata, p);
- ::decode(next_idata, p);
- DECODE_FINISH(p);
- }
-};
-WRITE_CLASS_ENCODER(idata_from_idata_args)
-
-struct omap_set_args {
- map<string, bufferlist> omap;
- uint64_t bound;
- bool exclusive;
-
- void encode(bufferlist &bl) const {
- ENCODE_START(1,1,bl);
- ::encode(omap, bl);
- ::encode(bound, bl);
- ::encode(exclusive, bl);
- ENCODE_FINISH(bl);
- }
- void decode(bufferlist::iterator &p) {
- DECODE_START(1, p);
- ::decode(omap, p);
- ::decode(bound, p);
- ::decode(exclusive, p);
- DECODE_FINISH(p);
- }
-};
-WRITE_CLASS_ENCODER(omap_set_args)
-
-struct omap_rm_args {
- std::set<string> omap;
- uint64_t bound;
-
- void encode(bufferlist &bl) const {
- ENCODE_START(1,1,bl);
- ::encode(omap, bl);
- ::encode(bound, bl);
- ENCODE_FINISH(bl);
- }
- void decode(bufferlist::iterator &p) {
- DECODE_START(1, p);
- ::decode(omap, p);
- ::decode(bound, p);
- DECODE_FINISH(p);
- }
-};
-WRITE_CLASS_ENCODER(omap_rm_args)
-
-struct rebalance_args {
- object_data odata;
- uint64_t bound;
- uint64_t comparator;
-
- void encode(bufferlist &bl) const {
- ENCODE_START(1,1,bl);
- ::encode(odata, bl);
- ::encode(bound, bl);
- ::encode(comparator, bl);
- ENCODE_FINISH(bl);
- }
- void decode(bufferlist::iterator &p) {
- DECODE_START(1, p);
- ::decode(odata,p);
- ::decode(bound, p);
- ::decode(comparator, p);
- DECODE_FINISH(p);
- }
-};
-WRITE_CLASS_ENCODER(rebalance_args)
-
-
-#endif /* CLS_KVS_H_ */