|
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 | Amendments |
| List of supported amendments. More... | |
| class | AmendmentCenter |
| Knowledge center for amendments within XRPL. More... | |
| class | AmendmentCenterInterface |
| The interface of an amendment center. More... | |
| class | BackendCounters |
| Holds statistics about the backend. More... | |
| class | DatabaseTimeout |
| Represents a database timeout error. More... | |
| class | BackendInterface |
| The interface to the database used by Clio. More... | |
| class | LedgerCache |
| Cache for an entire ledger. More... | |
| class | LedgerCacheInterface |
| Cache for an entire ledger. More... | |
| class | FetchLedgerCache |
| A simple cache holding one ripple::LedgerHeader to reduce DB lookups. More... | |
| struct | LedgerObject |
| Represents an object in the ledger. More... | |
| struct | LedgerPage |
| Represents a page of LedgerObjects. More... | |
| struct | BookOffersPage |
| Represents a page of book offer objects. More... | |
| struct | TransactionAndMetadata |
| Represents a transaction and its metadata bundled together. More... | |
| struct | TransactionsCursor |
| Represents a cursor into the transactions table. More... | |
| struct | TransactionsAndCursor |
| Represests a bundle of transactions with metadata and a cursor to the next page. More... | |
| struct | NFT |
| Represents a NFToken. More... | |
| struct | NFTsAndCursor |
| Represents a bundle of NFTs with a cursor to the next page. More... | |
| struct | MPTHoldersAndCursor |
| Represents an array of MPTokens. More... | |
| struct | LedgerRange |
| Stores a range of sequences as a min and max pair. More... | |
| struct | Amendment |
| Represents an amendment in the XRPL. More... | |
| struct | AmendmentKey |
| A helper for amendment name to feature conversions. More... | |
Concepts | |
| concept | SomeBackendCounters |
| A concept for a class that can be used to count backend operations. | |
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, size_t waitMs=kDEFAULT_WAIT_BETWEEN_RETRY) |
| A helper function that catches DatabaseTimeout exceptions and retries indefinitely. | |
| template<typename FnType> | |
| auto | synchronous (FnType &&func) |
| Synchronously executes the given function object inside a coroutine. | |
| template<typename FnType> | |
| auto | synchronousAndRetryOnTimeout (FnType &&func) |
| Synchronously execute the given function object and retry until no DatabaseTimeout is thrown. | |
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, |
| size_t | waitMs = kDEFAULT_WAIT_BETWEEN_RETRY ) |
A helper function that catches DatabaseTimeout exceptions and retries indefinitely.
| FnType | The type of function object to execute |
| func | The function object to execute |
| waitMs | Delay between retry 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 | ) |
Synchronously execute the given function object and retry until no DatabaseTimeout is thrown.
| FnType | The type of function object to execute |
| func | The function object to execute |