|
xrpld
|


Public Member Functions | |
| NuDBBackend (size_t keyBytes, Section const &keyValues, std::size_t burstSize, Scheduler &scheduler, beast::Journal journal) | |
| NuDBBackend (size_t keyBytes, Section const &keyValues, std::size_t burstSize, Scheduler &scheduler, nudb::context &context, beast::Journal journal) | |
| ~NuDBBackend () override | |
| std::string | getName () override |
| Get the human-readable name of this backend. | |
| std::optional< std::size_t > | getBlockSize () const override |
| Get the block size for backends that support it. | |
| void | open (bool createIfMissing, uint64_t appType, uint64_t uid, uint64_t salt) override |
| Open the backend. | |
| bool | isOpen () override |
| Returns true is the database is open. | |
| void | open (bool createIfMissing) override |
| Open the backend. | |
| void | close () override |
| Close the backend. | |
| Status | fetch (uint256 const &hash, std::shared_ptr< NodeObject > *pno) override |
| Fetch a single object. | |
| void | doInsert (std::shared_ptr< NodeObject > const &no) |
| void | store (std::shared_ptr< NodeObject > const &no) override |
| Store a single object. | |
| void | storeBatch (Batch const &batch) override |
| Store a group of objects. | |
| void | sync () override |
| void | forEach (std::function< void(std::shared_ptr< NodeObject >)> f) override |
| Visit every object in the database This is usually called during import. | |
| int | getWriteLoad () override |
| Estimate the number of write operations pending. | |
| void | setDeletePath () override |
| Remove contents on disk upon destruction. | |
| void | verify () override |
| Perform consistency checks on database. | |
| int | fdRequired () const override |
| Returns the number of file descriptors the backend expects to need. | |
Public Attributes | |
| beast::Journal const | j |
| size_t const | keyBytes |
| std::size_t const | burstSize |
| std::string const | name |
| std::size_t const | blockSize |
| nudb::store | db |
| std::atomic< bool > | deletePath |
| Scheduler & | scheduler |
Static Public Attributes | |
| static constexpr std::uint64_t | kAppNum = 1 |
Static Private Member Functions | |
| static std::size_t | parseBlockSize (std::string const &name, Section const &keyValues, beast::Journal journal) |
Definition at line 49 of file NuDBFactory.cpp.
| xrpl::NodeStore::NuDBBackend::NuDBBackend | ( | size_t | keyBytes, |
| Section const & | keyValues, | ||
| std::size_t | burstSize, | ||
| Scheduler & | scheduler, | ||
| beast::Journal | journal ) |
Definition at line 67 of file NuDBFactory.cpp.
| xrpl::NodeStore::NuDBBackend::NuDBBackend | ( | size_t | keyBytes, |
| Section const & | keyValues, | ||
| std::size_t | burstSize, | ||
| Scheduler & | scheduler, | ||
| nudb::context & | context, | ||
| beast::Journal | journal ) |
Definition at line 85 of file NuDBFactory.cpp.
|
override |
Definition at line 105 of file NuDBFactory.cpp.
|
overridevirtual |
Get the human-readable name of this backend.
This is used for diagnostic output.
Implements xrpl::NodeStore::Backend.
Definition at line 120 of file NuDBFactory.cpp.
|
nodiscardoverridevirtual |
Get the block size for backends that support it.
Reimplemented from xrpl::NodeStore::Backend.
Definition at line 126 of file NuDBFactory.cpp.
|
overridevirtual |
Open the backend.
| createIfMissing | Create the database files if necessary. |
| appType | Deterministic appType used to create a backend. |
| uid | Deterministic uid used to create a backend. |
| salt | Deterministic salt used to create a backend. |
| std::runtime_error | is function is called not for NuDB backend. |
Reimplemented from xrpl::NodeStore::Backend.
Definition at line 132 of file NuDBFactory.cpp.
|
overridevirtual |
Returns true is the database is open.
Implements xrpl::NodeStore::Backend.
Definition at line 170 of file NuDBFactory.cpp.
|
overridevirtual |
Open the backend.
| createIfMissing | Create the database files if necessary. This allows the caller to catch exceptions. |
Implements xrpl::NodeStore::Backend.
Definition at line 176 of file NuDBFactory.cpp.
|
overridevirtual |
Close the backend.
This allows the caller to catch exceptions.
Implements xrpl::NodeStore::Backend.
Definition at line 182 of file NuDBFactory.cpp.
|
overridevirtual |
Fetch a single object.
If the object is not found or an error is encountered, the result will indicate the condition.
| hash | The hash of the object. |
| pObject | [out] The created object if successful. |
Implements xrpl::NodeStore::Backend.
Definition at line 208 of file NuDBFactory.cpp.
| void xrpl::NodeStore::NuDBBackend::doInsert | ( | std::shared_ptr< NodeObject > const & | no | ) |
Definition at line 236 of file NuDBFactory.cpp.
|
overridevirtual |
Store a single object.
Depending on the implementation this may happen immediately or deferred using a scheduled task.
| object | The object to store. |
Implements xrpl::NodeStore::Backend.
Definition at line 248 of file NuDBFactory.cpp.
|
overridevirtual |
Store a group of objects.
Implements xrpl::NodeStore::Backend.
Definition at line 260 of file NuDBFactory.cpp.
|
overridevirtual |
Implements xrpl::NodeStore::Backend.
Definition at line 273 of file NuDBFactory.cpp.
|
overridevirtual |
Visit every object in the database This is usually called during import.
Implements xrpl::NodeStore::Backend.
Definition at line 278 of file NuDBFactory.cpp.
|
overridevirtual |
Estimate the number of write operations pending.
Implements xrpl::NodeStore::Backend.
Definition at line 315 of file NuDBFactory.cpp.
|
overridevirtual |
Remove contents on disk upon destruction.
Implements xrpl::NodeStore::Backend.
Definition at line 321 of file NuDBFactory.cpp.
|
overridevirtual |
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 from xrpl::NodeStore::Backend.
Definition at line 327 of file NuDBFactory.cpp.
|
nodiscardoverridevirtual |
Returns the number of file descriptors the backend expects to need.
Implements xrpl::NodeStore::Backend.
Definition at line 346 of file NuDBFactory.cpp.
|
staticprivate |
Definition at line 353 of file NuDBFactory.cpp.
|
staticconstexpr |
Definition at line 56 of file NuDBFactory.cpp.
| beast::Journal const xrpl::NodeStore::NuDBBackend::j |
Definition at line 58 of file NuDBFactory.cpp.
| size_t const xrpl::NodeStore::NuDBBackend::keyBytes |
Definition at line 59 of file NuDBFactory.cpp.
| std::size_t const xrpl::NodeStore::NuDBBackend::burstSize |
Definition at line 60 of file NuDBFactory.cpp.
| std::string const xrpl::NodeStore::NuDBBackend::name |
Definition at line 61 of file NuDBFactory.cpp.
| std::size_t const xrpl::NodeStore::NuDBBackend::blockSize |
Definition at line 62 of file NuDBFactory.cpp.
| nudb::store xrpl::NodeStore::NuDBBackend::db |
Definition at line 63 of file NuDBFactory.cpp.
| std::atomic<bool> xrpl::NodeStore::NuDBBackend::deletePath |
Definition at line 64 of file NuDBFactory.cpp.
| Scheduler& xrpl::NodeStore::NuDBBackend::scheduler |
Definition at line 65 of file NuDBFactory.cpp.