// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. #pragma once #include #include namespace proton { class DocumentDB; class FlushHandlerProxy : public IFlushHandler { private: std::shared_ptr _documentDB; vespalib::RetainGuard _retainGuard; public: FlushHandlerProxy(const std::shared_ptr &documentDB); ~FlushHandlerProxy() override; /** * Implements IFlushHandler. */ std::vector getFlushTargets() override; SerialNum getCurrentSerialNumber() const override; void flushDone(SerialNum flushedSerial) override; void syncTls(SerialNum syncTo) override; }; } // namespace proton