rippled
Loading...
Searching...
No Matches
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
ripple::NodeStore Namespace Reference

Namespaces

namespace  detail
 
namespace  tests
 

Classes

class  Backend
 A backend used for the NodeStore. More...
 
class  Backend_test
 
class  BatchWriter
 Batch-writing assist logic. More...
 
struct  BatchWriteReport
 Contains information about a batch write operation. More...
 
class  Database
 Persistency layer for NodeObject. More...
 
class  Database_test
 
class  DatabaseNodeImp
 
class  DatabaseRotating
 
class  DatabaseRotatingImp
 
class  DecodedBlob
 Parsed key/value blob into NodeObject components. More...
 
class  DummyScheduler
 Simple NodeStore Scheduler that just peforms the tasks synchronously. More...
 
class  EncodedBlob
 Convert a NodeObject from in-memory to database format. More...
 
class  Factory
 Base class for backend factories. More...
 
struct  FetchReport
 Contains information about a fetch operation. More...
 
struct  LessThan
 Binary function that satisfies the strict-weak-ordering requirement. More...
 
class  Manager
 Singleton for managing NodeStore factories and back ends. More...
 
class  ManagerImp
 
class  MemoryBackend
 
struct  MemoryDB
 
class  MemoryFactory
 
class  NodeStoreBasic_test
 
class  NuDBBackend
 
class  NuDBFactory
 
class  NullBackend
 
class  NullFactory
 
class  progress
 
class  Scheduler
 Scheduling for asynchronous backend activity. More...
 
class  Sequence
 
struct  Task
 Derived classes perform scheduled tasks. More...
 
class  TestBase
 
class  Timing_test
 
struct  varint_traits
 
struct  varint_traits< T, true >
 

Typedefs

using Batch = std::vector< std::shared_ptr< NodeObject > >
 A batch of NodeObjects to write at once. More...
 

Enumerations

enum class  FetchType { synchronous , async }
 
enum  { batchWritePreallocationSize = 256 , batchWriteLimitSize = 65536 }
 
enum  Status {
  ok , notFound , dataCorrupt , unknown ,
  backendError , customCode = 100
}
 Return codes from Backend operations. More...
 

Functions

 BEAST_DEFINE_TESTSUITE (Backend, ripple_core, ripple)
 
 BEAST_DEFINE_TESTSUITE (NodeStoreBasic, ripple_core, ripple)
 
 BEAST_DEFINE_TESTSUITE (Database, NodeStore, ripple)
 
std::map< std::string, std::string, boost::beast::iless > parse_args (std::string const &s)
 
bool isSame (std::shared_ptr< NodeObject > const &lhs, std::shared_ptr< NodeObject > const &rhs)
 Returns true if objects are identical. More...
 
std::unique_ptr< Backendmake_Backend (Section const &config, Scheduler &scheduler, beast::Journal journal)
 
template<class Generator >
static void rngcpy (void *buffer, std::size_t bytes, Generator &g)
 
 BEAST_DEFINE_TESTSUITE_MANUAL_PRIO (Timing, NodeStore, ripple, 1)
 
template<class BufferFactory >
std::pair< void const *, std::size_tlz4_decompress (void const *in, std::size_t in_size, BufferFactory &&bf)
 
template<class BufferFactory >
std::pair< void const *, std::size_tlz4_compress (void const *in, std::size_t in_size, BufferFactory &&bf)
 
template<class BufferFactory >
std::pair< void const *, std::size_tnodeobject_decompress (void const *in, std::size_t in_size, BufferFactory &&bf)
 
template<class = void>
void const * zero32 ()
 
template<class BufferFactory >
std::pair< void const *, std::size_tnodeobject_compress (void const *in, std::size_t in_size, BufferFactory &&bf)
 
template<class = void>
void filter_inner (void *in, std::size_t in_size)
 
template<class = void>
std::size_t read_varint (void const *buf, std::size_t buflen, std::size_t &t)
 
template<class T , std::enable_if_t< std::is_unsigned< T >::value > * = nullptr>
std::size_t size_varint (T v)
 
template<class = void>
std::size_t write_varint (void *p0, std::size_t v)
 
template<class T , std::enable_if_t< std::is_same< T, varint >::value > * = nullptr>
void read (nudb::detail::istream &is, std::size_t &u)
 
template<class T , std::enable_if_t< std::is_same< T, varint >::value > * = nullptr>
void write (nudb::detail::ostream &os, std::size_t t)
 

Variables

static MemoryFactory memoryFactory
 
static NuDBFactory nuDBFactory
 
static NullFactory nullFactory
 

Typedef Documentation

◆ Batch

A batch of NodeObjects to write at once.

Definition at line 55 of file src/xrpld/nodestore/Types.h.

Enumeration Type Documentation

◆ FetchType

enum class ripple::NodeStore::FetchType
strong
Enumerator
synchronous 
async 

Definition at line 30 of file xrpld/nodestore/Scheduler.h.

◆ anonymous enum

anonymous enum
Enumerator
batchWritePreallocationSize 
batchWriteLimitSize 

Definition at line 30 of file src/xrpld/nodestore/Types.h.

◆ Status

Return codes from Backend operations.

Enumerator
ok 
notFound 
dataCorrupt 
unknown 
backendError 
customCode 

Definition at line 44 of file src/xrpld/nodestore/Types.h.

Function Documentation

◆ BEAST_DEFINE_TESTSUITE() [1/3]

ripple::NodeStore::BEAST_DEFINE_TESTSUITE ( Backend  ,
ripple_core  ,
ripple   
)

◆ BEAST_DEFINE_TESTSUITE() [2/3]

ripple::NodeStore::BEAST_DEFINE_TESTSUITE ( NodeStoreBasic  ,
ripple_core  ,
ripple   
)

◆ BEAST_DEFINE_TESTSUITE() [3/3]

ripple::NodeStore::BEAST_DEFINE_TESTSUITE ( Database  ,
NodeStore  ,
ripple   
)

◆ parse_args()

std::map< std::string, std::string, boost::beast::iless > ripple::NodeStore::parse_args ( std::string const &  s)

Definition at line 252 of file import_test.cpp.

◆ isSame()

bool ripple::NodeStore::isSame ( std::shared_ptr< NodeObject > const &  lhs,
std::shared_ptr< NodeObject > const &  rhs 
)

Returns true if objects are identical.

Definition at line 60 of file TestBase.h.

◆ make_Backend()

std::unique_ptr< Backend > ripple::NodeStore::make_Backend ( Section const &  config,
Scheduler scheduler,
beast::Journal  journal 
)

Definition at line 54 of file Timing_test.cpp.

◆ rngcpy()

template<class Generator >
static void ripple::NodeStore::rngcpy ( void *  buffer,
std::size_t  bytes,
Generator &  g 
)
static

Definition at line 66 of file Timing_test.cpp.

◆ BEAST_DEFINE_TESTSUITE_MANUAL_PRIO()

ripple::NodeStore::BEAST_DEFINE_TESTSUITE_MANUAL_PRIO ( Timing  ,
NodeStore  ,
ripple  ,
 
)

◆ lz4_decompress()

template<class BufferFactory >
std::pair< void const *, std::size_t > ripple::NodeStore::lz4_decompress ( void const *  in,
std::size_t  in_size,
BufferFactory &&  bf 
)

Definition at line 46 of file codec.h.

◆ lz4_compress()

template<class BufferFactory >
std::pair< void const *, std::size_t > ripple::NodeStore::lz4_compress ( void const *  in,
std::size_t  in_size,
BufferFactory &&  bf 
)

Definition at line 76 of file codec.h.

◆ nodeobject_decompress()

template<class BufferFactory >
std::pair< void const *, std::size_t > ripple::NodeStore::nodeobject_decompress ( void const *  in,
std::size_t  in_size,
BufferFactory &&  bf 
)

Definition at line 111 of file codec.h.

◆ zero32()

template<class = void>
void const * ripple::NodeStore::zero32 ( )

Definition at line 214 of file codec.h.

◆ nodeobject_compress()

template<class BufferFactory >
std::pair< void const *, std::size_t > ripple::NodeStore::nodeobject_compress ( void const *  in,
std::size_t  in_size,
BufferFactory &&  bf 
)

Definition at line 222 of file codec.h.

◆ filter_inner()

template<class = void>
void ripple::NodeStore::filter_inner ( void *  in,
std::size_t  in_size 
)

Definition at line 318 of file codec.h.

◆ read_varint()

template<class = void>
std::size_t ripple::NodeStore::read_varint ( void const *  buf,
std::size_t  buflen,
std::size_t t 
)

Definition at line 57 of file varint.h.

◆ size_varint()

template<class T , std::enable_if_t< std::is_unsigned< T >::value > * = nullptr>
std::size_t ripple::NodeStore::size_varint ( v)

Definition at line 90 of file varint.h.

◆ write_varint()

template<class = void>
std::size_t ripple::NodeStore::write_varint ( void *  p0,
std::size_t  v 
)

Definition at line 103 of file varint.h.

◆ read()

template<class T , std::enable_if_t< std::is_same< T, varint >::value > * = nullptr>
void ripple::NodeStore::read ( nudb::detail::istream &  is,
std::size_t u 
)

Definition at line 121 of file varint.h.

◆ write()

template<class T , std::enable_if_t< std::is_same< T, varint >::value > * = nullptr>
void ripple::NodeStore::write ( nudb::detail::ostream &  os,
std::size_t  t 
)

Definition at line 134 of file varint.h.

Variable Documentation

◆ memoryFactory

MemoryFactory ripple::NodeStore::memoryFactory
static

Definition at line 78 of file MemoryFactory.cpp.

◆ nuDBFactory

NuDBFactory ripple::NodeStore::nuDBFactory
static

Definition at line 411 of file NuDBFactory.cpp.

◆ nullFactory

NullFactory ripple::NodeStore::nullFactory
static

Definition at line 143 of file NullFactory.cpp.