rippled
Public Member Functions | List of all members
ripple::NodeStore::NullBackend Class Reference
Inheritance diagram for ripple::NodeStore::NullBackend:
Inheritance graph
[legend]
Collaboration diagram for ripple::NodeStore::NullBackend:
Collaboration graph
[legend]

Public Member Functions

 NullBackend ()=default
 
 ~NullBackend ()=default
 
std::string getName () override
 Get the human-readable name of this backend. More...
 
void open (bool createIfMissing) override
 Open the backend. More...
 
bool isOpen () override
 Returns true is the database is open. More...
 
void close () override
 Close the backend. More...
 
Status fetch (void const *, std::shared_ptr< NodeObject > *) override
 Fetch a single object. More...
 
std::pair< std::vector< std::shared_ptr< NodeObject > >, StatusfetchBatch (std::vector< uint256 const * > const &hashes) override
 Fetch a batch synchronously. More...
 
void store (std::shared_ptr< NodeObject > const &object) override
 Store a single object. More...
 
void storeBatch (Batch const &batch) override
 Store a group of objects. More...
 
void sync () override
 
void for_each (std::function< void(std::shared_ptr< NodeObject >)> f) override
 Visit every object in the database This is usually called during import. More...
 
int getWriteLoad () override
 Estimate the number of write operations pending. More...
 
void setDeletePath () override
 Remove contents on disk upon destruction. More...
 
int fdRequired () const override
 Returns the number of file descriptors the backend expects to need. More...
 
virtual void open (bool createIfMissing, uint64_t appType, uint64_t uid, uint64_t salt)
 Open the backend. More...
 
virtual void verify ()
 Perform consistency checks on database. More...
 
virtual std::optional< Counters< std::uint64_t > > counters () const
 Returns read and write stats. More...
 

Detailed Description

Definition at line 28 of file NullFactory.cpp.

Constructor & Destructor Documentation

◆ NullBackend()

ripple::NodeStore::NullBackend::NullBackend ( )
default

◆ ~NullBackend()

ripple::NodeStore::NullBackend::~NullBackend ( )
default

Member Function Documentation

◆ getName()

std::string ripple::NodeStore::NullBackend::getName ( )
overridevirtual

Get the human-readable name of this backend.

This is used for diagnostic output.

Implements ripple::NodeStore::Backend.

Definition at line 36 of file NullFactory.cpp.

◆ open() [1/2]

void ripple::NodeStore::NullBackend::open ( bool  createIfMissing)
overridevirtual

Open the backend.

Parameters
createIfMissingCreate the database files if necessary. This allows the caller to catch exceptions.

Implements ripple::NodeStore::Backend.

Definition at line 42 of file NullFactory.cpp.

◆ isOpen()

bool ripple::NodeStore::NullBackend::isOpen ( )
overridevirtual

Returns true is the database is open.

Implements ripple::NodeStore::Backend.

Definition at line 47 of file NullFactory.cpp.

◆ close()

void ripple::NodeStore::NullBackend::close ( )
overridevirtual

Close the backend.

This allows the caller to catch exceptions.

Implements ripple::NodeStore::Backend.

Definition at line 53 of file NullFactory.cpp.

◆ fetch()

Status ripple::NodeStore::NullBackend::fetch ( void const *  key,
std::shared_ptr< NodeObject > *  pObject 
)
overridevirtual

Fetch a single object.

If the object is not found or an error is encountered, the result will indicate the condition.

Note
This will be called concurrently.
Parameters
keyA pointer to the key data.
pObject[out] The created object if successful.
Returns
The result of the operation.

Implements ripple::NodeStore::Backend.

Definition at line 58 of file NullFactory.cpp.

◆ fetchBatch()

std::pair<std::vector<std::shared_ptr<NodeObject> >, Status> ripple::NodeStore::NullBackend::fetchBatch ( std::vector< uint256 const * > const &  hashes)
overridevirtual

Fetch a batch synchronously.

Implements ripple::NodeStore::Backend.

Definition at line 64 of file NullFactory.cpp.

◆ store()

void ripple::NodeStore::NullBackend::store ( std::shared_ptr< NodeObject > const &  object)
overridevirtual

Store a single object.

Depending on the implementation this may happen immediately or deferred using a scheduled task.

Note
This will be called concurrently.
Parameters
objectThe object to store.

Implements ripple::NodeStore::Backend.

Definition at line 70 of file NullFactory.cpp.

◆ storeBatch()

void ripple::NodeStore::NullBackend::storeBatch ( Batch const &  batch)
overridevirtual

Store a group of objects.

Note
This function will not be called concurrently with itself or store.

Implements ripple::NodeStore::Backend.

Definition at line 75 of file NullFactory.cpp.

◆ sync()

void ripple::NodeStore::NullBackend::sync ( )
overridevirtual

Implements ripple::NodeStore::Backend.

Definition at line 80 of file NullFactory.cpp.

◆ for_each()

void ripple::NodeStore::NullBackend::for_each ( std::function< void(std::shared_ptr< NodeObject >)>  f)
overridevirtual

Visit every object in the database This is usually called during import.

Note
This routine will not be called concurrently with itself or other methods.
See also
import

Implements ripple::NodeStore::Backend.

Definition at line 85 of file NullFactory.cpp.

◆ getWriteLoad()

int ripple::NodeStore::NullBackend::getWriteLoad ( )
overridevirtual

Estimate the number of write operations pending.

Implements ripple::NodeStore::Backend.

Definition at line 90 of file NullFactory.cpp.

◆ setDeletePath()

void ripple::NodeStore::NullBackend::setDeletePath ( )
overridevirtual

Remove contents on disk upon destruction.

Implements ripple::NodeStore::Backend.

Definition at line 96 of file NullFactory.cpp.

◆ fdRequired()

int ripple::NodeStore::NullBackend::fdRequired ( ) const
overridevirtual

Returns the number of file descriptors the backend expects to need.

Implements ripple::NodeStore::Backend.

Definition at line 102 of file NullFactory.cpp.

◆ open() [2/2]

virtual void ripple::NodeStore::Backend::open ( bool  createIfMissing,
uint64_t  appType,
uint64_t  uid,
uint64_t  salt 
)
virtualinherited

Open the backend.

Parameters
createIfMissingCreate the database files if necessary.
appTypeDeterministic appType used to create a backend.
uidDeterministic uid used to create a backend.
saltDeterministic salt used to create a backend.
Exceptions
std::runtime_erroris function is called not for NuDB backend.

Reimplemented in ripple::NodeStore::NuDBBackend.

Definition at line 99 of file Backend.h.

◆ verify()

virtual void ripple::NodeStore::Backend::verify ( )
virtualinherited

Perform consistency checks on database.

This method is implemented only by NuDBBackend. It is not yet called anywhere, but it might be a good idea to one day call it at startup to avert a crash.

Reimplemented in ripple::NodeStore::NuDBBackend.

Definition at line 170 of file Backend.h.

◆ counters()

virtual std::optional<Counters<std::uint64_t> > ripple::NodeStore::Backend::counters ( ) const
virtualinherited

Returns read and write stats.

Note
The Counters struct is specific to and only used by CassandraBackend.

Definition at line 184 of file Backend.h.