+++ /dev/null
-// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
-// vim: ts=8 sw=2 smarttab
-#ifndef CEPH_ASYNC_COMPLETION_H
-#define CEPH_ASYNC_COMPLETION_H
-
-#include "include/Context.h"
-
-namespace ceph {
-
-class ContextCompletion {
-public:
- ContextCompletion(Context *ctx, bool ignore_enoent);
-
- void finish_adding_requests();
-
- void start_op();
- void finish_op(int r);
-
-private:
- Mutex m_lock;
- Context *m_ctx;
- bool m_ignore_enoent;
- int m_ret;
- bool m_building;
- uint64_t m_current_ops;
-};
-
-class C_ContextCompletion : public Context {
-public:
- C_ContextCompletion(ContextCompletion &context_completion)
- : m_context_completion(context_completion)
- {
- m_context_completion.start_op();
- }
-
- void finish(int r) override {
- m_context_completion.finish_op(r);
- }
-
-private:
- ContextCompletion &m_context_completion;
-};
-
-} // namespace ceph
-
-#endif // CEPH_ASYNC_COMPLETION_H