summaryrefslogtreecommitdiff
path: root/src/include/rados/librados.hpp
diff options
context:
space:
mode:
authorYehuda Sadeh <yehuda@inktank.com>2013-02-28 09:56:43 -0800
committerYehuda Sadeh <yehuda@inktank.com>2013-02-28 09:56:43 -0800
commitf41809eb86f704cee33fa6ef6e000244dd02a601 (patch)
tree0788c74afbc1c84c445233d9ad581784a8aa3d60 /src/include/rados/librados.hpp
parent35ce9d6374f5a6c61ddfa11c2a7a8cf1161c8df2 (diff)
downloadceph-wip-librados-exec.tar.gz
librados: add two more ObjectOperation::exec()wip-librados-exec
- one that also gets out bufferlist and ret value pointer - one that gets a callback context Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Diffstat (limited to 'src/include/rados/librados.hpp')
-rw-r--r--src/include/rados/librados.hpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/include/rados/librados.hpp b/src/include/rados/librados.hpp
index fb585d09811..d1b0d010498 100644
--- a/src/include/rados/librados.hpp
+++ b/src/include/rados/librados.hpp
@@ -115,6 +115,13 @@ namespace librados
OP_FAILOK = 2,
};
+
+ class ObjectOperationCompletion {
+ public:
+ virtual ~ObjectOperationCompletion() {}
+ virtual void handle_completion(int r, bufferlist& outbl) = 0;
+ };
+
/*
* ObjectOperation : compount object operation
* Batch multiple object operations into a single request, to be applied
@@ -136,6 +143,8 @@ namespace librados
void src_cmpxattr(const std::string& src_oid,
const char *name, int op, uint64_t v);
void exec(const char *cls, const char *method, bufferlist& inbl);
+ void exec(const char *cls, const char *method, bufferlist& inbl, bufferlist *obl, int *prval);
+ void exec(const char *cls, const char *method, bufferlist& inbl, ObjectOperationCompletion *completion);
/**
* Guard operation with a check that object version == ver
*