summaryrefslogtreecommitdiffstats
path: root/src/rgw/rgw_period_puller.h
blob: 654029dd1c4efacb6ae1f8059abdce66d6275ae8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
// vim: ts=8 sw=2 smarttab ft=cpp

#ifndef CEPH_RGW_PERIOD_PULLER_H
#define CEPH_RGW_PERIOD_PULLER_H

#include "rgw_period_history.h"
#include "include/common_fwd.h"
#include "rgw/services/svc_sys_obj.h"

class RGWPeriod;

class RGWPeriodPuller : public RGWPeriodHistory::Puller {
  CephContext *cct;

  struct {
    RGWSI_Zone *zone;
    RGWSI_SysObj *sysobj;
  } svc;

 public:
  explicit RGWPeriodPuller(RGWSI_Zone *zone_svc, RGWSI_SysObj *sysobj_svc);

  int pull(const DoutPrefixProvider *dpp, const std::string& period_id, RGWPeriod& period, optional_yield y) override;
};

#endif // CEPH_RGW_PERIOD_PULLER_H