rippled
Public Member Functions | Protected Member Functions | Protected Attributes | Private Types | Private Member Functions | Private Attributes | List of all members
ripple::NodeStore::DatabaseRotatingImp Class Reference
Inheritance diagram for ripple::NodeStore::DatabaseRotatingImp:
Inheritance graph
[legend]
Collaboration diagram for ripple::NodeStore::DatabaseRotatingImp:
Collaboration graph
[legend]

Public Member Functions

 DatabaseRotatingImp ()=delete
 
 DatabaseRotatingImp (DatabaseRotatingImp const &)=delete
 
DatabaseRotatingImpoperator= (DatabaseRotatingImp const &)=delete
 
 DatabaseRotatingImp (std::string const &name, Scheduler &scheduler, int readThreads, Stoppable &parent, std::shared_ptr< Backend > writableBackend, std::shared_ptr< Backend > archiveBackend, Section const &config, beast::Journal j)
 
 ~DatabaseRotatingImp () override
 
void rotateWithLock (std::function< std::unique_ptr< NodeStore::Backend >(std::string const &writableBackendName)> const &f) override
 Rotates the backends. More...
 
std::string getName () const override
 Retrieve the name associated with this backend. More...
 
std::int32_t getWriteLoad () const override
 Retrieve the estimated number of pending write operations. More...
 
void import (Database &source) override
 Import objects from another database. More...
 
void store (NodeObjectType type, Blob &&data, uint256 const &hash, std::uint32_t seq) override
 Store the object. More...
 
std::shared_ptr< NodeObjectfetch (uint256 const &hash, std::uint32_t seq) override
 Fetch an object. More...
 
bool asyncFetch (uint256 const &hash, std::uint32_t seq, std::shared_ptr< NodeObject > &object) override
 Fetch an object without waiting. More...
 
bool storeLedger (std::shared_ptr< Ledger const > const &srcLedger) override
 Copies a ledger stored in a different database to this one. More...
 
int getDesiredAsyncReadCount (std::uint32_t seq) override
 Get the maximum number of async reads the node store prefers. More...
 
float getCacheHitRate () override
 Get the positive cache hits to total attempts ratio. More...
 
void tune (int size, std::chrono::seconds age) override
 Set the maximum number of entries and maximum cache age for both caches. More...
 
void sweep () override
 Remove expired entries from the positive and negative caches. More...
 
TaggedCache< uint256, NodeObject > const & getPositiveCache () override
 
void waitReads ()
 Wait for all currently pending async reads to complete. More...
 
std::uint32_t getStoreCount () const
 Gather statistics pertaining to read and write activities. More...
 
std::uint32_t getFetchTotalCount () const
 
std::uint32_t getFetchHitCount () const
 
std::uint32_t getStoreSize () const
 
std::uint32_t getFetchSize () const
 
int fdRequired () const
 Returns the number of file descriptors the database expects to need. More...
 
void onStop () override
 Override called when the stop notification is issued. More...
 
void onChildrenStopped () override
 Override called when all children have stopped. More...
 
std::uint32_t earliestLedgerSeq () const
 
RootStoppablegetRoot ()
 
void setParent (Stoppable &parent)
 Set the parent of this Stoppable. More...
 
bool isStopping () const
 Returns true if the stoppable should stop. More...
 
bool isStopped () const
 Returns true if the requested stop has completed. More...
 
bool areChildrenStopped () const
 Returns true if all children have stopped. More...
 
JobCounterjobCounter ()
 
bool alertable_sleep_until (std::chrono::system_clock::time_point const &t)
 Sleep or wake up on stop. More...
 

Protected Member Functions

void asyncFetch (uint256 const &hash, std::uint32_t seq, std::shared_ptr< TaggedCache< uint256, NodeObject >> const &pCache, std::shared_ptr< KeyCache< uint256 >> const &nCache)
 
bool storeLedger (Ledger const &srcLedger, std::shared_ptr< Backend > dstBackend, std::shared_ptr< TaggedCache< uint256, NodeObject >> dstPCache, std::shared_ptr< KeyCache< uint256 >> dstNCache, std::shared_ptr< Ledger const > next)
 
void stopThreads ()
 
void storeStats (size_t sz)
 
std::shared_ptr< NodeObjectfetchInternal (uint256 const &hash, std::shared_ptr< Backend > backend)
 
void importInternal (Backend &dstBackend, Database &srcDB)
 
std::shared_ptr< NodeObjectdoFetch (uint256 const &hash, std::uint32_t seq, TaggedCache< uint256, NodeObject > &pCache, KeyCache< uint256 > &nCache, bool isAsync)
 
void stopped ()
 Called by derived classes to indicate that the stoppable has stopped. More...
 

Protected Attributes

const beast::Journal j_
 
Schedulerscheduler_
 
int fdRequired_ {0}
 

Private Types

using Children = beast::LockFreeStack< Child >
 

Private Member Functions

std::shared_ptr< NodeObjectfetchFrom (uint256 const &hash, std::uint32_t seq) 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...
 
void threadEntry ()
 
virtual void onPrepare ()
 Override called during preparation. More...
 
virtual void onStart ()
 Override called during start. More...
 
void prepareRecursive ()
 
void startRecursive ()
 
void stopAsyncRecursive (beast::Journal j)
 
void stopRecursive (beast::Journal j)
 

Private Attributes

std::shared_ptr< TaggedCache< uint256, NodeObject > > pCache_
 
std::shared_ptr< KeyCache< uint256 > > nCache_
 
std::shared_ptr< BackendwritableBackend_
 
std::shared_ptr< BackendarchiveBackend_
 
std::mutex mutex_
 
std::atomic< std::uint32_tstoreCount_ {0}
 
std::atomic< std::uint32_tfetchTotalCount_ {0}
 
std::atomic< std::uint32_tfetchHitCount_ {0}
 
std::atomic< std::uint32_tstoreSz_ {0}
 
std::atomic< std::uint32_tfetchSz_ {0}
 
std::mutex readLock_
 
std::condition_variable readCondVar_
 
std::condition_variable readGenCondVar_
 
std::map< uint256, std::tuple< std::uint32_t, std::weak_ptr< TaggedCache< uint256, NodeObject > >, std::weak_ptr< KeyCache< uint256 > > > > read_
 
uint256 readLastHash_
 
std::vector< std::threadreadThreads_
 
bool readShut_ {false}
 
uint64_t readGen_ {0}
 
const std::uint32_t earliestLedgerSeq_
 
std::string m_name
 
RootStoppablem_root
 
Child m_child
 
std::atomic< bool > m_stopped {false}
 
std::atomic< bool > m_childrenStopped {false}
 
Children m_children
 
std::condition_variable m_cv
 
std::mutex m_mut
 
bool m_is_stopping = false
 
bool hasParent_ {false}
 

Detailed Description

Definition at line 28 of file DatabaseRotatingImp.h.

Member Typedef Documentation

◆ Children

Definition at line 318 of file Stoppable.h.

Constructor & Destructor Documentation

◆ DatabaseRotatingImp() [1/3]

ripple::NodeStore::DatabaseRotatingImp::DatabaseRotatingImp ( )
delete

◆ DatabaseRotatingImp() [2/3]

ripple::NodeStore::DatabaseRotatingImp::DatabaseRotatingImp ( DatabaseRotatingImp const &  )
delete

◆ DatabaseRotatingImp() [3/3]

ripple::NodeStore::DatabaseRotatingImp::DatabaseRotatingImp ( std::string const &  name,
Scheduler scheduler,
int  readThreads,
Stoppable parent,
std::shared_ptr< Backend writableBackend,
std::shared_ptr< Backend archiveBackend,
Section const &  config,
beast::Journal  j 
)

Definition at line 27 of file DatabaseRotatingImp.cpp.

◆ ~DatabaseRotatingImp()

ripple::NodeStore::DatabaseRotatingImp::~DatabaseRotatingImp ( )
override

Definition at line 46 of file DatabaseRotatingImp.h.

Member Function Documentation

◆ operator=()

DatabaseRotatingImp& ripple::NodeStore::DatabaseRotatingImp::operator= ( DatabaseRotatingImp const &  )
delete

◆ rotateWithLock()

void ripple::NodeStore::DatabaseRotatingImp::rotateWithLock ( std::function< std::unique_ptr< NodeStore::Backend >(std::string const &writableBackendName)> const &  f)
overridevirtual

Rotates the backends.

Parameters
fA function executed before the rotation and under the same lock

Implements ripple::NodeStore::DatabaseRotating.

Definition at line 59 of file DatabaseRotatingImp.cpp.

◆ getName()

std::string ripple::NodeStore::DatabaseRotatingImp::getName ( ) const
overridevirtual

Retrieve the name associated with this backend.

This is used for diagnostics and may not reflect the actual path or paths used by the underlying backend.

Implements ripple::NodeStore::Database.

Definition at line 72 of file DatabaseRotatingImp.cpp.

◆ getWriteLoad()

std::int32_t ripple::NodeStore::DatabaseRotatingImp::getWriteLoad ( ) const
overridevirtual

Retrieve the estimated number of pending write operations.

This is used for diagnostics.

Implements ripple::NodeStore::Database.

Definition at line 79 of file DatabaseRotatingImp.cpp.

◆ import()

void ripple::NodeStore::DatabaseRotatingImp::import ( Database source)
overridevirtual

Import objects from another database.

Implements ripple::NodeStore::Database.

Definition at line 86 of file DatabaseRotatingImp.cpp.

◆ store()

void ripple::NodeStore::DatabaseRotatingImp::store ( NodeObjectType  type,
Blob &&  data,
uint256 const &  hash,
std::uint32_t  seq 
)
overridevirtual

Store the object.

The caller's Blob parameter is overwritten.

Parameters
typeThe type of object.
dataThe payload of the object. The caller's variable is overwritten.
hashThe 256-bit hash of the payload data.
seqThe sequence of the ledger the object belongs to.
Returns
true if the object was stored?

Implements ripple::NodeStore::Database.

Definition at line 109 of file DatabaseRotatingImp.cpp.

◆ fetch()

std::shared_ptr<NodeObject> ripple::NodeStore::DatabaseRotatingImp::fetch ( uint256 const &  hash,
std::uint32_t  seq 
)
overridevirtual

Fetch an object.

If the object is known to be not in the database, isn't found in the database during the fetch, or failed to load correctly during the fetch, nullptr is returned.

Note
This can be called concurrently.
Parameters
hashThe key of the object to retrieve.
seqThe sequence of the ledger where the object is stored.
Returns
The object, or nullptr if it couldn't be retrieved.

Implements ripple::NodeStore::Database.

Definition at line 74 of file DatabaseRotatingImp.h.

◆ asyncFetch() [1/2]

bool ripple::NodeStore::DatabaseRotatingImp::asyncFetch ( uint256 const &  hash,
std::uint32_t  seq,
std::shared_ptr< NodeObject > &  object 
)
overridevirtual

Fetch an object without waiting.

If I/O is required to determine whether or not the object is present, false is returned. Otherwise, true is returned and object is set to refer to the object, or nullptr if the object is not present. If I/O is required, the I/O is scheduled.

Note
This can be called concurrently.
Parameters
hashThe key of the object to retrieve
seqThe sequence of the ledger where the object is stored.
objectThe object retrieved
Returns
Whether the operation completed

Implements ripple::NodeStore::Database.

Definition at line 129 of file DatabaseRotatingImp.cpp.

◆ storeLedger() [1/2]

bool ripple::NodeStore::DatabaseRotatingImp::storeLedger ( std::shared_ptr< Ledger const > const &  srcLedger)
overridevirtual

Copies a ledger stored in a different database to this one.

Parameters
ledgerThe ledger to copy.
Returns
true if the operation was successful

Implements ripple::NodeStore::Database.

Definition at line 97 of file DatabaseRotatingImp.cpp.

◆ getDesiredAsyncReadCount()

int ripple::NodeStore::DatabaseRotatingImp::getDesiredAsyncReadCount ( std::uint32_t  seq)
overridevirtual

Get the maximum number of async reads the node store prefers.

Parameters
seqA ledger sequence specifying a shard to query.
Returns
The number of async reads preferred.
Note
The sequence is only used with the shard store.

Implements ripple::NodeStore::Database.

Definition at line 89 of file DatabaseRotatingImp.h.

◆ getCacheHitRate()

float ripple::NodeStore::DatabaseRotatingImp::getCacheHitRate ( )
overridevirtual

Get the positive cache hits to total attempts ratio.

Implements ripple::NodeStore::Database.

Definition at line 98 of file DatabaseRotatingImp.h.

◆ tune()

void ripple::NodeStore::DatabaseRotatingImp::tune ( int  size,
std::chrono::seconds  age 
)
overridevirtual

Set the maximum number of entries and maximum cache age for both caches.

Parameters
sizeNumber of cache entries (0 = ignore)
ageMaximum cache age in seconds

Implements ripple::NodeStore::Database.

Definition at line 145 of file DatabaseRotatingImp.cpp.

◆ sweep()

void ripple::NodeStore::DatabaseRotatingImp::sweep ( )
overridevirtual

Remove expired entries from the positive and negative caches.

Implements ripple::NodeStore::Database.

Definition at line 154 of file DatabaseRotatingImp.cpp.

◆ getPositiveCache()

TaggedCache<uint256, NodeObject> const& ripple::NodeStore::DatabaseRotatingImp::getPositiveCache ( )
overridevirtual

Implements ripple::NodeStore::DatabaseRotating.

Definition at line 110 of file DatabaseRotatingImp.h.

◆ fetchFrom()

std::shared_ptr< NodeObject > ripple::NodeStore::DatabaseRotatingImp::fetchFrom ( uint256 const &  hash,
std::uint32_t  seq 
)
overrideprivatevirtual

Implements ripple::NodeStore::Database.

Definition at line 161 of file DatabaseRotatingImp.cpp.

◆ for_each()

void ripple::NodeStore::DatabaseRotatingImp::for_each ( std::function< void(std::shared_ptr< NodeObject >)>  f)
overrideprivatevirtual

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::Database.

Definition at line 191 of file DatabaseRotatingImp.cpp.

◆ asyncFetch() [2/2]

void ripple::NodeStore::Database::asyncFetch ( uint256 const &  hash,
std::uint32_t  seq,
std::shared_ptr< TaggedCache< uint256, NodeObject >> const &  pCache,
std::shared_ptr< KeyCache< uint256 >> const &  nCache 
)
protectedinherited

Definition at line 110 of file Database.cpp.

◆ storeLedger() [2/2]

bool ripple::NodeStore::Database::storeLedger ( Ledger const &  srcLedger,
std::shared_ptr< Backend dstBackend,
std::shared_ptr< TaggedCache< uint256, NodeObject >>  dstPCache,
std::shared_ptr< KeyCache< uint256 >>  dstNCache,
std::shared_ptr< Ledger const >  next 
)
protectedinherited

Definition at line 230 of file Database.cpp.

◆ waitReads()

void ripple::NodeStore::Database::waitReads ( )
inherited

Wait for all currently pending async reads to complete.

Definition at line 61 of file Database.cpp.

◆ getStoreCount()

std::uint32_t ripple::NodeStore::Database::getStoreCount ( ) const
inherited

Gather statistics pertaining to read and write activities.

Returns
The total read and written bytes.

Definition at line 191 of file Database.h.

◆ getFetchTotalCount()

std::uint32_t ripple::NodeStore::Database::getFetchTotalCount ( ) const
inherited

Definition at line 197 of file Database.h.

◆ getFetchHitCount()

std::uint32_t ripple::NodeStore::Database::getFetchHitCount ( ) const
inherited

Definition at line 203 of file Database.h.

◆ getStoreSize()

std::uint32_t ripple::NodeStore::Database::getStoreSize ( ) const
inherited

Definition at line 209 of file Database.h.

◆ getFetchSize()

std::uint32_t ripple::NodeStore::Database::getFetchSize ( ) const
inherited

Definition at line 215 of file Database.h.

◆ fdRequired()

int ripple::NodeStore::Database::fdRequired ( ) const
inherited

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

Definition at line 222 of file Database.h.

◆ onStop()

void ripple::NodeStore::Database::onStop ( )
overridevirtualinherited

Override called when the stop notification is issued.

The call is made on an unspecified, implementation-specific thread. onStop and onChildrenStopped will never be called concurrently, across all Stoppable objects descended from the same root, inclusive of the root.

It is safe to call isStopping, isStopped, and areChildrenStopped from within this function; The values returned will always be valid and never change during the callback.

The default implementation simply calls stopped(). This is applicable when the Stoppable has a trivial stop operation (or no stop operation), and we are merely using the Stoppable API to position it as a dependency of some parent service.

Thread safety: May not block for long periods. Guaranteed only to be called once. Must be safe to call from any thread at any time.

Reimplemented from ripple::Stoppable.

Reimplemented in ripple::NodeStore::DatabaseShardImp.

Definition at line 79 of file Database.cpp.

◆ onChildrenStopped()

void ripple::NodeStore::Database::onChildrenStopped ( )
overridevirtualinherited

Override called when all children have stopped.

The call is made on an unspecified, implementation-specific thread. onStop and onChildrenStopped will never be called concurrently, across all Stoppable objects descended from the same root, inclusive of the root.

It is safe to call isStopping, isStopped, and areChildrenStopped from within this function; The values returned will always be valid and never change during the callback.

The default implementation does nothing.

Thread safety: May not block for long periods. Guaranteed only to be called once. Must be safe to call from any thread at any time.

Reimplemented from ripple::Stoppable.

Definition at line 87 of file Database.cpp.

◆ earliestLedgerSeq()

std::uint32_t ripple::NodeStore::Database::earliestLedgerSeq ( ) const
inherited
Returns
The earliest ledger sequence allowed

Definition at line 236 of file Database.h.

◆ stopThreads()

void ripple::NodeStore::Database::stopThreads ( )
protectedinherited

Definition at line 93 of file Database.cpp.

◆ storeStats()

void ripple::NodeStore::Database::storeStats ( size_t  sz)
protectedinherited

Definition at line 250 of file Database.h.

◆ fetchInternal()

std::shared_ptr< NodeObject > ripple::NodeStore::Database::fetchInternal ( uint256 const &  hash,
std::shared_ptr< Backend backend 
)
protectedinherited

Definition at line 123 of file Database.cpp.

◆ importInternal()

void ripple::NodeStore::Database::importInternal ( Backend dstBackend,
Database srcDB 
)
protectedinherited

Definition at line 158 of file Database.cpp.

◆ doFetch()

std::shared_ptr< NodeObject > ripple::NodeStore::Database::doFetch ( uint256 const &  hash,
std::uint32_t  seq,
TaggedCache< uint256, NodeObject > &  pCache,
KeyCache< uint256 > &  nCache,
bool  isAsync 
)
protectedinherited

Definition at line 184 of file Database.cpp.

◆ threadEntry()

void ripple::NodeStore::Database::threadEntry ( )
privateinherited

Definition at line 340 of file Database.cpp.

◆ getRoot()

RootStoppable& ripple::Stoppable::getRoot ( )
inherited

Definition at line 213 of file Stoppable.h.

◆ setParent()

void ripple::Stoppable::setParent ( Stoppable parent)
inherited

Set the parent of this Stoppable.

Note
The Stoppable must not already have a parent. The parent to be set cannot not be stopping. Both roots must match.

Definition at line 43 of file Stoppable.cpp.

◆ isStopping()

bool ripple::Stoppable::isStopping ( ) const
inherited

Returns true if the stoppable should stop.

Definition at line 54 of file Stoppable.cpp.

◆ isStopped()

bool ripple::Stoppable::isStopped ( ) const
inherited

Returns true if the requested stop has completed.

Definition at line 60 of file Stoppable.cpp.

◆ areChildrenStopped()

bool ripple::Stoppable::areChildrenStopped ( ) const
inherited

Returns true if all children have stopped.

Definition at line 66 of file Stoppable.cpp.

◆ jobCounter()

JobCounter & ripple::Stoppable::jobCounter ( )
inherited

Definition at line 436 of file Stoppable.h.

◆ alertable_sleep_until()

bool ripple::Stoppable::alertable_sleep_until ( std::chrono::system_clock::time_point const &  t)
inherited

Sleep or wake up on stop.

Returns
true if we are stopping

Definition at line 454 of file Stoppable.h.

◆ stopped()

void ripple::Stoppable::stopped ( )
protectedinherited

Called by derived classes to indicate that the stoppable has stopped.

Definition at line 72 of file Stoppable.cpp.

◆ onPrepare()

void ripple::Stoppable::onPrepare ( )
privatevirtualinherited

Override called during preparation.

Since all other Stoppable objects in the tree have already been constructed, this provides an opportunity to perform initialization which depends on calling into other Stoppable objects. This call is made on the same thread that called prepare(). The default implementation does nothing. Guaranteed to only be called once.

Reimplemented in ripple::ApplicationImp, ripple::test::Stoppable_test::Root, ripple::OverlayImpl, ripple::test::Stoppable_test::C, ripple::test::Stoppable_test::I, ripple::test::Stoppable_test::B, ripple::test::Stoppable_test::H, ripple::test::Stoppable_test::G, ripple::SHAMapStoreImp, ripple::test::Stoppable_test::A, ripple::PeerFinder::ManagerImp, ripple::perf::PerfLogImp, ripple::test::Stoppable_test::F, ripple::test::Stoppable_test::E, ripple::detail::LedgerCleanerImp, ripple::test::Stoppable_test::J, ripple::LoadManager, ripple::PerfLog_test::PerfLogParent, and ripple::test::Stoppable_test::D.

Definition at line 80 of file Stoppable.cpp.

◆ onStart()

void ripple::Stoppable::onStart ( )
privatevirtualinherited

◆ prepareRecursive()

void ripple::Stoppable::prepareRecursive ( )
privateinherited

Definition at line 103 of file Stoppable.cpp.

◆ startRecursive()

void ripple::Stoppable::startRecursive ( )
privateinherited

Definition at line 113 of file Stoppable.cpp.

◆ stopAsyncRecursive()

void ripple::Stoppable::stopAsyncRecursive ( beast::Journal  j)
privateinherited

Definition at line 123 of file Stoppable.cpp.

◆ stopRecursive()

void ripple::Stoppable::stopRecursive ( beast::Journal  j)
privateinherited

Definition at line 134 of file Stoppable.cpp.

Member Data Documentation

◆ pCache_

std::shared_ptr<TaggedCache<uint256, NodeObject> > ripple::NodeStore::DatabaseRotatingImp::pCache_
private

Definition at line 117 of file DatabaseRotatingImp.h.

◆ nCache_

std::shared_ptr<KeyCache<uint256> > ripple::NodeStore::DatabaseRotatingImp::nCache_
private

Definition at line 120 of file DatabaseRotatingImp.h.

◆ writableBackend_

std::shared_ptr<Backend> ripple::NodeStore::DatabaseRotatingImp::writableBackend_
private

Definition at line 122 of file DatabaseRotatingImp.h.

◆ archiveBackend_

std::shared_ptr<Backend> ripple::NodeStore::DatabaseRotatingImp::archiveBackend_
private

Definition at line 123 of file DatabaseRotatingImp.h.

◆ mutex_

std::mutex ripple::NodeStore::DatabaseRotatingImp::mutex_
mutableprivate

Definition at line 124 of file DatabaseRotatingImp.h.

◆ j_

const beast::Journal ripple::NodeStore::Database::j_
protectedinherited

Definition at line 242 of file Database.h.

◆ scheduler_

Scheduler& ripple::NodeStore::Database::scheduler_
protectedinherited

Definition at line 243 of file Database.h.

◆ fdRequired_

int ripple::NodeStore::Database::fdRequired_ {0}
protectedinherited

Definition at line 244 of file Database.h.

◆ storeCount_

std::atomic<std::uint32_t> ripple::NodeStore::Database::storeCount_ {0}
privateinherited

Definition at line 290 of file Database.h.

◆ fetchTotalCount_

std::atomic<std::uint32_t> ripple::NodeStore::Database::fetchTotalCount_ {0}
privateinherited

Definition at line 291 of file Database.h.

◆ fetchHitCount_

std::atomic<std::uint32_t> ripple::NodeStore::Database::fetchHitCount_ {0}
privateinherited

Definition at line 292 of file Database.h.

◆ storeSz_

std::atomic<std::uint32_t> ripple::NodeStore::Database::storeSz_ {0}
privateinherited

Definition at line 293 of file Database.h.

◆ fetchSz_

std::atomic<std::uint32_t> ripple::NodeStore::Database::fetchSz_ {0}
privateinherited

Definition at line 294 of file Database.h.

◆ readLock_

std::mutex ripple::NodeStore::Database::readLock_
privateinherited

Definition at line 296 of file Database.h.

◆ readCondVar_

std::condition_variable ripple::NodeStore::Database::readCondVar_
privateinherited

Definition at line 297 of file Database.h.

◆ readGenCondVar_

std::condition_variable ripple::NodeStore::Database::readGenCondVar_
privateinherited

Definition at line 298 of file Database.h.

◆ read_

std::map< uint256, std::tuple< std::uint32_t, std::weak_ptr<TaggedCache<uint256, NodeObject> >, std::weak_ptr<KeyCache<uint256> > > > ripple::NodeStore::Database::read_
privateinherited

Definition at line 307 of file Database.h.

◆ readLastHash_

uint256 ripple::NodeStore::Database::readLastHash_
privateinherited

Definition at line 310 of file Database.h.

◆ readThreads_

std::vector<std::thread> ripple::NodeStore::Database::readThreads_
privateinherited

Definition at line 312 of file Database.h.

◆ readShut_

bool ripple::NodeStore::Database::readShut_ {false}
privateinherited

Definition at line 313 of file Database.h.

◆ readGen_

uint64_t ripple::NodeStore::Database::readGen_ {0}
privateinherited

Definition at line 316 of file Database.h.

◆ earliestLedgerSeq_

const std::uint32_t ripple::NodeStore::Database::earliestLedgerSeq_
privateinherited

Definition at line 320 of file Database.h.

◆ m_name

std::string ripple::Stoppable::m_name
privateinherited

Definition at line 338 of file Stoppable.h.

◆ m_root

RootStoppable& ripple::Stoppable::m_root
privateinherited

Definition at line 339 of file Stoppable.h.

◆ m_child

Child ripple::Stoppable::m_child
privateinherited

Definition at line 340 of file Stoppable.h.

◆ m_stopped

std::atomic<bool> ripple::Stoppable::m_stopped {false}
privateinherited

Definition at line 341 of file Stoppable.h.

◆ m_childrenStopped

std::atomic<bool> ripple::Stoppable::m_childrenStopped {false}
privateinherited

Definition at line 342 of file Stoppable.h.

◆ m_children

Children ripple::Stoppable::m_children
privateinherited

Definition at line 343 of file Stoppable.h.

◆ m_cv

std::condition_variable ripple::Stoppable::m_cv
privateinherited

Definition at line 344 of file Stoppable.h.

◆ m_mut

std::mutex ripple::Stoppable::m_mut
privateinherited

Definition at line 345 of file Stoppable.h.

◆ m_is_stopping

bool ripple::Stoppable::m_is_stopping = false
privateinherited

Definition at line 346 of file Stoppable.h.

◆ hasParent_

bool ripple::Stoppable::hasParent_ {false}
privateinherited

Definition at line 347 of file Stoppable.h.