|
Clio
develop
The XRP Ledger API server.
|
This namespace implements the data access layer and related components. More...
Namespaces | |
| namespace | cassandra |
| This namespace implements a wrapper for the Cassandra C++ driver. | |
Classes | |
| struct | Amendment |
| Represents an amendment in the XRPL. More... | |
| class | AmendmentCenter |
| Knowledge center for amendments within XRPL. More... | |
| class | AmendmentCenterInterface |
| The interface of an amendment center. More... | |
| struct | AmendmentKey |
| A helper for amendment name to feature conversions. More... | |
| struct | Amendments |
| List of supported amendments. More... | |
| class | BackendCounters |
| Holds statistics about the backend. More... | |
| class | BackendInterface |
| The interface to the database used by Clio. More... | |
| struct | BookOffersPage |
| Represents a page of book offer objects. More... | |
| class | DatabaseError |
| Represents a transient database error that the caller should retry. More... | |
| class | FetchLedgerCache |
| A simple cache holding one xrpl::LedgerHeader to reduce DB lookups. More... | |
| class | LedgerCache |
| Cache for an entire ledger. More... | |
| class | LedgerCacheInterface |
| Cache for an entire ledger. More... | |
| class | LedgerCacheLoadingState |
| Concrete implementation of LedgerCacheLoadingStateInterface. More... | |
| class | LedgerCacheLoadingStateInterface |
| Interface for coordinating cache loading permissions across a cluster. More... | |
| class | LedgerCacheSaver |
| Manages asynchronous saving of ledger cache to a file. More... | |
| struct | LedgerObject |
| Represents an object in the ledger. More... | |
| struct | LedgerPage |
| Represents a page of LedgerObjects. More... | |
| struct | LedgerRange |
| Stores a range of sequences as a min and max pair. More... | |
| struct | MPTHoldersAndCursor |
| Represents an array of MPTokens. More... | |
| struct | NFT |
| Represents a NFToken. More... | |
| struct | NFTsAndCursor |
| Represents a bundle of NFTs with a cursor to the next page. More... | |
| struct | TransactionAndMetadata |
| Represents a transaction and its metadata bundled together. More... | |
| struct | TransactionsAndCursor |
| Represests a bundle of transactions with metadata and a cursor to the next page. More... | |
| struct | TransactionsCursor |
| Represents a cursor into the transactions table. More... | |
Concepts | |
| concept | SomeBackendCounters |
| A concept for a class that can be used to count backend operations. | |
| concept | SomeLedgerCacheSaver |
| A concept for a class that can save ledger cache asynchronously. | |
Typedefs | |
| using | Blob = std::vector<unsigned char> |
Functions | |
| std::shared_ptr< BackendInterface > | makeBackend (util::config::ClioConfigDefinition const &config, data::LedgerCacheInterface &cache) |
| A factory function that creates the backend based on a config. | |
| template<typename FnType> | |
| auto | retryOnTimeout (FnType func, boost::asio::yield_context yield, util::Retry::Delays delays=kDefaultRetryDelays) |
| Retry func while it throws DatabaseError, suspending the calling coroutine in between. | |
| template<typename FnType> | |
| auto | retryOnTimeout (FnType func, util::Retry::Delays delays=kDefaultRetryDelays) |
| Retry func while it throws DatabaseError, blocking the calling thread in between. | |
| template<typename FnType> | |
| auto | synchronous (FnType &&func) |
| Synchronously executes the given function object inside a coroutine. | |
| template<typename FnType> | |
| auto | synchronousAndRetryOnTimeout (FnType &&func, util::Retry::Delays delays=kDefaultRetryDelays) |
| Synchronously execute the given function object and retry until no DatabaseError is thrown. | |
Variables | |
| static constexpr std::chrono::milliseconds | kDefaultWaitBetweenRetry {500} |
| Delay before the first retry in retryOnTimeout(). | |
| static constexpr std::chrono::milliseconds | kMaxWaitBetweenRetry {5'000} |
| Default upper bound for the exponential backoff in retryOnTimeout(). | |
| static constexpr util::Retry::Delays | kDefaultRetryDelays |
| Default delays for retryOnTimeout(). | |
| constexpr xrpl::uint256 | kFirstKey |
| constexpr xrpl::uint256 | kLastKey |
| constexpr xrpl::uint256 | kHi192 {"0000000000000000000000000000000000000000000000001111111111111111"} |
This namespace implements the data access layer and related components.
The data layer is responsible for fetching and storing data from the database. Cassandra and ScyllaDB are currently supported via the CassandraBackend implementation.
|
inline |
A factory function that creates the backend based on a config.
| config | The clio config to use |
| cache | The ledger cache to use |
| auto data::retryOnTimeout | ( | FnType | func, |
| boost::asio::yield_context | yield, | ||
| util::Retry::Delays | delays = kDefaultRetryDelays ) |
Retry func while it throws DatabaseError, suspending the calling coroutine in between.
| FnType | The type of function object to execute |
| func | The function object to execute |
| yield | The coroutine to suspend between attempts |
| delays | The delays to use between attempts |
| auto data::retryOnTimeout | ( | FnType | func, |
| util::Retry::Delays | delays = kDefaultRetryDelays ) |
Retry func while it throws DatabaseError, blocking the calling thread in between.
| FnType | The type of function object to execute |
| func | The function object to execute |
| delays | The delays to use between attempts |
| auto data::synchronous | ( | FnType && | func | ) |
Synchronously executes the given function object inside a coroutine.
| FnType | The type of function object to execute |
| func | The function object to execute |
| auto data::synchronousAndRetryOnTimeout | ( | FnType && | func, |
| util::Retry::Delays | delays = kDefaultRetryDelays ) |
Synchronously execute the given function object and retry until no DatabaseError is thrown.
| FnType | The type of function object to execute |
| func | The function object to execute |
| delays | The delays to use between attempts |
|
staticconstexpr |
Default delays for retryOnTimeout().
|
constexpr |
|
constexpr |