20#ifndef RIPPLE_NODESTORE_DATABASEROTATINGIMP_H_INCLUDED
21#define RIPPLE_NODESTORE_DATABASEROTATINGIMP_H_INCLUDED
23#include <xrpld/nodestore/DatabaseRotating.h>
56 std::string const& archiveName)>
const& f)
override;
94 bool duplicate)
override;
A generic endpoint for log messages.
std::int32_t getWriteLoad() const override
Retrieve the estimated number of pending write operations.
DatabaseRotatingImp(DatabaseRotatingImp const &)=delete
std::shared_ptr< Backend > archiveBackend_
std::shared_ptr< NodeObject > fetchNodeObject(uint256 const &hash, std::uint32_t, FetchReport &fetchReport, bool duplicate) override
void store(NodeObjectType type, Blob &&data, uint256 const &hash, std::uint32_t) override
Store the object.
void importDatabase(Database &source) override
Import objects from another database.
std::string getName() const override
Retrieve the name associated with this backend.
void sweep() override
Remove expired entries from the positive and negative caches.
DatabaseRotatingImp()=delete
bool isSameDB(std::uint32_t, std::uint32_t) override
std::shared_ptr< Backend > writableBackend_
void rotate(std::unique_ptr< NodeStore::Backend > &&newBackend, std::function< void(std::string const &writableName, std::string const &archiveName)> const &f) override
Rotates the backends.
DatabaseRotatingImp & operator=(DatabaseRotatingImp const &)=delete
void for_each(std::function< void(std::shared_ptr< NodeObject >)> f) override
Visit every object in the database This is usually called during import.
Persistency layer for NodeObject.
Scheduling for asynchronous backend activity.
Holds a collection of configuration values.
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
NodeObjectType
The types of node objects.
Contains information about a fetch operation.