]>
git.proxmox.com Git - ceph.git/blob - ceph/src/tools/rbd_mirror/Threads.h
1 // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
2 // vim: ts=8 sw=2 smarttab
4 #ifndef CEPH_RBD_MIRROR_THREADS_H
5 #define CEPH_RBD_MIRROR_THREADS_H
7 #include "include/common_fwd.h"
8 #include "include/rados/librados_fwd.hpp"
9 #include "common/ceph_mutex.h"
10 #include "common/Timer.h"
18 namespace asio
{ struct ContextWQ
; }
24 template <typename ImageCtxT
= librbd::ImageCtx
>
27 librbd::AsioEngine
* asio_engine
= nullptr;
28 librbd::asio::ContextWQ
* work_queue
= nullptr;
30 SafeTimer
*timer
= nullptr;
31 ceph::mutex timer_lock
= ceph::make_mutex("Threads::timer_lock");
33 explicit Threads(std::shared_ptr
<librados::Rados
>& rados
);
34 Threads(const Threads
&) = delete;
35 Threads
& operator=(const Threads
&) = delete;
43 extern template class rbd::mirror::Threads
<librbd::ImageCtx
>;
45 #endif // CEPH_RBD_MIRROR_THREADS_H