]> git.proxmox.com Git - ceph.git/blame - ceph/src/rgw/services/svc_zone_utils.h
import ceph pacific 16.2.5
[ceph.git] / ceph / src / rgw / services / svc_zone_utils.h
CommitLineData
9f95a23c
TL
1// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
2// vim: ts=8 sw=2 smarttab ft=cpp
11fdf7f2 3
9f95a23c 4#pragma once
11fdf7f2
TL
5
6#include "rgw/rgw_service.h"
7
8
9class RGWSI_RADOS;
10class RGWSI_Zone;
11
12class RGWSI_ZoneUtils : public RGWServiceInstance
13{
14 friend struct RGWServices_Def;
15
16 RGWSI_RADOS *rados_svc{nullptr};
17 RGWSI_Zone *zone_svc{nullptr};
18
19 string trans_id_suffix;
20
21 void init(RGWSI_RADOS *_rados_svc,
22 RGWSI_Zone *_zone_svc) {
23 rados_svc = _rados_svc;
24 zone_svc = _zone_svc;
25 }
26
b3b6e05e 27 int do_start(optional_yield, const DoutPrefixProvider *dpp) override;
11fdf7f2
TL
28
29 void init_unique_trans_id_deps();
30
31public:
32 RGWSI_ZoneUtils(CephContext *cct): RGWServiceInstance(cct) {}
33
34 string gen_host_id();
35 string unique_id(uint64_t unique_num);
36
37 string unique_trans_id(const uint64_t unique_num);
38};