X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fceph%2Fsrc%2Frgw%2Frgw_period_pusher.h;fp=src%2Fceph%2Fsrc%2Frgw%2Frgw_period_pusher.h;h=0000000000000000000000000000000000000000;hb=7da45d65be36d36b880cc55c5036e96c24b53f00;hp=7146bef42afccaa9ecf410398fc80f4b45d03b16;hpb=691462d09d0987b47e112d6ee8740375df3c51b2;p=stor4nfv.git diff --git a/src/ceph/src/rgw/rgw_period_pusher.h b/src/ceph/src/rgw/rgw_period_pusher.h deleted file mode 100644 index 7146bef..0000000 --- a/src/ceph/src/rgw/rgw_period_pusher.h +++ /dev/null @@ -1,56 +0,0 @@ -// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*- -// vim: ts=8 sw=2 smarttab - -#ifndef RGW_PERIOD_PUSHER_H -#define RGW_PERIOD_PUSHER_H - -#include -#include -#include - -#include "rgw_realm_reloader.h" - -class RGWRados; -class RGWPeriod; - -// RGWRealmNotify payload for push coordination -using RGWZonesNeedPeriod = RGWPeriod; - -/** - * RGWPeriodPusher coordinates with other nodes via the realm watcher to manage - * the responsibility for pushing period updates to other zones or zonegroups. - */ -class RGWPeriodPusher final : public RGWRealmWatcher::Watcher, - public RGWRealmReloader::Pauser { - public: - RGWPeriodPusher(RGWRados* store); - ~RGWPeriodPusher() override; - - /// respond to realm notifications by pushing new periods to other zones - void handle_notify(RGWRealmNotify type, bufferlist::iterator& p) override; - - /// avoid accessing RGWRados while dynamic reconfiguration is in progress. - /// notifications will be enqueued until resume() - void pause() override; - - /// continue processing notifications with a new RGWRados instance - void resume(RGWRados* store) override; - - private: - void handle_notify(RGWZonesNeedPeriod&& period); - - CephContext *const cct; - RGWRados* store; - - std::mutex mutex; - epoch_t realm_epoch{0}; //< the current realm epoch being sent - epoch_t period_epoch{0}; //< the current period epoch being sent - - /// while paused for reconfiguration, we need to queue up notifications - std::vector pending_periods; - - class CRThread; //< contains thread, coroutine manager, http manager - std::unique_ptr cr_thread; //< thread to run the push coroutines -}; - -#endif // RGW_PERIOD_PUSHER_H