]> git.proxmox.com Git - ceph.git/blame - ceph/src/rgw/rgw_kmip_client_impl.h
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / rgw / rgw_kmip_client_impl.h
CommitLineData
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
6struct RGWKmipWorker;
7class RGWKMIPManagerImpl: public RGWKMIPManager {
8protected:
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;
21public:
22 RGWKMIPManagerImpl(CephContext *cct) : RGWKMIPManager(cct) {};
23 int add_request(RGWKMIPTransceiver *);
24 int start();
25 void stop();
26 friend RGWKmipWorker;
27};