]>
Commit | Line | Data |
---|---|---|
f67539c2 TL |
1 | // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- |
2 | // vim: ts=8 sw=2 smarttab ft=cpp | |
3 | ||
1e59de90 TL |
4 | #pragma once |
5 | ||
f67539c2 TL |
6 | struct RGWKmipWorker; |
7 | class RGWKMIPManagerImpl: public RGWKMIPManager { | |
8 | protected: | |
9 | ceph::mutex lock = ceph::make_mutex("RGWKMIPManager"); | |
10 | ceph::condition_variable cond; | |
11 | ||
12 | struct Request : boost::intrusive::list_base_hook<> { | |
13 | boost::intrusive::list_member_hook<> req_hook; | |
14 | RGWKMIPTransceiver &details; | |
15 | Request(RGWKMIPTransceiver &details) : details(details) {} | |
16 | }; | |
17 | boost::intrusive::list<Request, boost::intrusive::member_hook< Request, | |
18 | boost::intrusive::list_member_hook<>, &Request::req_hook>> requests; | |
19 | bool going_down = false; | |
20 | RGWKmipWorker *worker = 0; | |
21 | public: | |
22 | RGWKMIPManagerImpl(CephContext *cct) : RGWKMIPManager(cct) {}; | |
23 | int add_request(RGWKMIPTransceiver *); | |
24 | int start(); | |
25 | void stop(); | |
26 | friend RGWKmipWorker; | |
27 | }; |