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

Namespaces

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  NuDBFactory_test
 
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.
 

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

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)
 
void registerMemoryFactory (Manager &manager)
 
void registerNuDBFactory (Manager &manager)
 
void registerNullFactory (Manager &manager)
 
void registerRocksDBFactory (Manager &manager)
 
 BEAST_DEFINE_TESTSUITE (Backend, nodestore, ripple)
 
 BEAST_DEFINE_TESTSUITE (NodeStoreBasic, nodestore, ripple)
 
 BEAST_DEFINE_TESTSUITE (Database, nodestore, ripple)
 
std::map< std::string, std::string, boost::beast::iless > parse_args (std::string const &s)
 
 BEAST_DEFINE_TESTSUITE (NuDBFactory, ripple_core, ripple)
 
bool isSame (std::shared_ptr< NodeObject > const &lhs, std::shared_ptr< NodeObject > const &rhs)
 Returns true if objects are identical.
 
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)
 

Variables

MemoryFactorymemoryFactory = nullptr
 

Typedef Documentation

◆ Batch

A batch of NodeObjects to write at once.

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

Enumeration Type Documentation

◆ FetchType

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

Definition at line 30 of file include/xrpl/nodestore/Scheduler.h.

◆ anonymous enum

anonymous enum
Enumerator
batchWritePreallocationSize 
batchWriteLimitSize 

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

◆ Status

Return codes from Backend operations.

Enumerator
ok 
notFound 
dataCorrupt 
unknown 
backendError 
customCode 

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

Function Documentation

◆ 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 45 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 75 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 110 of file codec.h.

◆ zero32()

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

Definition at line 213 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 221 of file codec.h.

◆ filter_inner()

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

Definition at line 317 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.

◆ registerMemoryFactory()

void ripple::NodeStore::registerMemoryFactory ( Manager manager)

Definition at line 80 of file MemoryFactory.cpp.

◆ registerNuDBFactory()

void ripple::NodeStore::registerNuDBFactory ( Manager manager)

Definition at line 471 of file NuDBFactory.cpp.

◆ registerNullFactory()

void ripple::NodeStore::registerNullFactory ( Manager manager)

Definition at line 142 of file NullFactory.cpp.

◆ registerRocksDBFactory()

void ripple::NodeStore::registerRocksDBFactory ( Manager manager)

◆ BEAST_DEFINE_TESTSUITE() [1/4]

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

◆ BEAST_DEFINE_TESTSUITE() [2/4]

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

◆ BEAST_DEFINE_TESTSUITE() [3/4]

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.

◆ BEAST_DEFINE_TESTSUITE() [4/4]

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

◆ 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 59 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 53 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 65 of file Timing_test.cpp.

◆ BEAST_DEFINE_TESTSUITE_MANUAL_PRIO()

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

Variable Documentation

◆ memoryFactory

MemoryFactory* ripple::NodeStore::memoryFactory = nullptr

Definition at line 77 of file MemoryFactory.cpp.