From 891343a79d5be63d642ffd323ffdd3e260e87388 Mon Sep 17 00:00:00 2001 From: Dan van der Ster Date: Tue, 25 Feb 2014 11:47:43 +0100 Subject: [PATCH] rados.py: add aio_remove Add aio_remove to the Python wrapper. Signed-off-by: Dan van der Ster --- src/pybind/rados.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/pybind/rados.py b/src/pybind/rados.py index 0989ebb2e7e7..0ee8d72e0548 100644 --- a/src/pybind/rados.py +++ b/src/pybind/rados.py @@ -1100,6 +1100,30 @@ class Ioctx(object): raise make_ex(ret, "error reading %s" % object_name) return completion + def aio_remove(self, object_name, oncomplete=None, onsafe=None): + """ + Asychronously remove an object + + :param object_name: name of the object to remove + :type object_name: str + :param oncomplete: what to do when the remove is safe and complete in memory + on all replicas + :type oncomplete: completion + :param onsafe: what to do when the remove is safe and complete on storage + on all replicas + :type onsafe: completion + + :raises: :class:`Error` + :returns: completion object + """ + completion = self.__get_completion(oncomplete, onsafe) + ret = run_in_thread(self.librados.rados_aio_remove, + (self.io, c_char_p(object_name), + completion.rados_comp)) + if ret < 0: + raise make_ex(ret, "error removing %s" % object_name) + return completion + def require_ioctx_open(self): """ Checks if the rados.Ioctx object state is 'open' -- 2.47.3