X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fceph%2Fsrc%2Fcls%2Fstatelog%2Fcls_statelog_client.cc;fp=src%2Fceph%2Fsrc%2Fcls%2Fstatelog%2Fcls_statelog_client.cc;h=0000000000000000000000000000000000000000;hb=7da45d65be36d36b880cc55c5036e96c24b53f00;hp=895e26a6fa5a40210098014345427f51023d93c6;hpb=691462d09d0987b47e112d6ee8740375df3c51b2;p=stor4nfv.git diff --git a/src/ceph/src/cls/statelog/cls_statelog_client.cc b/src/ceph/src/cls/statelog/cls_statelog_client.cc deleted file mode 100644 index 895e26a..0000000 --- a/src/ceph/src/cls/statelog/cls_statelog_client.cc +++ /dev/null @@ -1,126 +0,0 @@ -#include - -#include "cls/statelog/cls_statelog_client.h" -#include "include/rados/librados.hpp" - - -using namespace librados; - - -void cls_statelog_add(librados::ObjectWriteOperation& op, list& entries) -{ - bufferlist in; - cls_statelog_add_op call; - call.entries = entries; - ::encode(call, in); - op.exec("statelog", "add", in); -} - -void cls_statelog_add(librados::ObjectWriteOperation& op, cls_statelog_entry& entry) -{ - bufferlist in; - cls_statelog_add_op call; - call.entries.push_back(entry); - ::encode(call, in); - op.exec("statelog", "add", in); -} - -void cls_statelog_add_prepare_entry(cls_statelog_entry& entry, const string& client_id, const string& op_id, - const string& object, const utime_t& timestamp, uint32_t state, bufferlist& bl) -{ - entry.client_id = client_id; - entry.op_id = op_id; - entry.object = object; - entry.timestamp = timestamp; - entry.state = state; - entry.data = bl; -} - -void cls_statelog_add(librados::ObjectWriteOperation& op, const string& client_id, const string& op_id, - const string& object, const utime_t& timestamp, uint32_t state, bufferlist& bl) - -{ - cls_statelog_entry entry; - - cls_statelog_add_prepare_entry(entry, client_id, op_id, object, timestamp, state, bl); - cls_statelog_add(op, entry); -} - -void cls_statelog_remove_by_client(librados::ObjectWriteOperation& op, const string& client_id, const string& op_id) -{ - bufferlist in; - cls_statelog_remove_op call; - call.client_id = client_id; - call.op_id = op_id; - ::encode(call, in); - op.exec("statelog", "remove", in); -} - -void cls_statelog_remove_by_object(librados::ObjectWriteOperation& op, const string& object, const string& op_id) -{ - bufferlist in; - cls_statelog_remove_op call; - call.object = object; - call.op_id = op_id; - ::encode(call, in); - op.exec("statelog", "remove", in); -} - -class StateLogListCtx : public ObjectOperationCompletion { - list *entries; - string *marker; - bool *truncated; -public: - StateLogListCtx(list *_entries, string *_marker, bool *_truncated) : - entries(_entries), marker(_marker), truncated(_truncated) {} - void handle_completion(int r, bufferlist& outbl) override { - if (r >= 0) { - cls_statelog_list_ret ret; - try { - bufferlist::iterator iter = outbl.begin(); - ::decode(ret, iter); - if (entries) - *entries = ret.entries; - if (truncated) - *truncated = ret.truncated; - if (marker) - *marker = ret.marker; - } catch (buffer::error& err) { - // nothing we can do about it atm - } - } - } -}; - -void cls_statelog_list(librados::ObjectReadOperation& op, - const string& client_id, const string& op_id, const string& object, /* op_id may be empty, also one of client_id, object*/ - const string& in_marker, int max_entries, list& entries, - string *out_marker, bool *truncated) -{ - bufferlist inbl; - cls_statelog_list_op call; - call.client_id = client_id; - call.op_id = op_id; - call.object = object; - call.marker = in_marker; - call.max_entries = max_entries; - - ::encode(call, inbl); - - op.exec("statelog", "list", inbl, new StateLogListCtx(&entries, out_marker, truncated)); -} - -void cls_statelog_check_state(librados::ObjectOperation& op, const string& client_id, const string& op_id, const string& object, uint32_t state) -{ - bufferlist inbl; - cls_statelog_check_state_op call; - call.client_id = client_id; - call.op_id = op_id; - call.object = object; - call.state = state; - - ::encode(call, inbl); - - op.exec("statelog", "check_state", inbl, NULL); -} -