public:
Throttle(uint64_t window) : window(window) {}
- ~Throttle() {
+ virtual ~Throttle() {
// must drain before destructing
ceph_assert(pending.empty());
ceph_assert(completed.empty());
public:
BlockingAioThrottle(uint64_t window) : Throttle(window) {}
+ virtual ~BlockingAioThrottle() override {};
+
AioResultList get(const RGWSI_RADOS::Obj& obj, OpFunc&& f,
uint64_t cost, uint64_t id) override final;
: Throttle(window), context(context), yield(yield)
{}
+ virtual ~YieldingAioThrottle() override {};
+
AioResultList get(const RGWSI_RADOS::Obj& obj, OpFunc&& f,
uint64_t cost, uint64_t id) override final;