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

Classes

class  AccountIdCache
 Caches the base58 representations of AccountIDs. More...
 
class  AccountIDTag
 
class  ApplyStateTable
 
class  ApplyViewBase
 
struct  basic_sha512_half_hasher
 Returns the SHA512-Half digest of a message. More...
 
class  BasicFullBelowCache
 Remembers which tree keys have all descendants resident. More...
 
class  CachedViewImpl
 
struct  case_results
 
class  CurrencyTag
 
struct  DatabasePairValid
 
struct  defaultObject_t
 
class  DeferredCredits
 
class  DirectoryTag
 
class  DirGuard
 Create a directory and remove it when it's done. More...
 
struct  epsilon_multiple
 
class  FileDirGuard
 Write a file in a directory and remove when done. More...
 
class  flags_helper
 
class  Generator
 Produces a sequence of secp256k1 key pairs. More...
 
struct  is_contiguous_container
 
struct  is_contiguous_container< Container, std::void_t< decltype(std::declval< Container const >().size()), decltype(std::declval< Container const >().data()), typename Container::value_type > >
 
struct  is_contiguous_container< Slice >
 
struct  LocalValues
 
struct  MessageHeader
 
class  multi_runner_base
 
struct  MultiApiJson
 
class  NodeIDTag
 
struct  NoEdgeData
 
struct  nonPresentObject_t
 
struct  PeerDataCounts
 
class  RawStateTable
 
class  ReadViewFwdIter
 
class  ReadViewFwdRange
 
struct  results
 
class  RippledCfgGuard
 Write a rippled config file and remove when done. More...
 
class  save_stream_state
 
class  ServerDefinitions
 
class  STVar
 
struct  suite_results
 
class  test_user_type_free
 
class  test_user_type_member
 
struct  throw_policy
 
class  TokenCodecErrcCategory
 
class  ValidatorsTxtGuard
 Write a validators.txt file and remove when done. More...
 
class  VotableValue
 
class  Work
 
class  WorkBase
 
class  WorkFile
 
class  WorkPlain
 
class  WorkSSL
 

Concepts

concept  ValidConstructSTArgs
 
concept  some_integral_constant
 

Typedefs

using seed_pair = std::pair< std::uint64_t, std::uint64_t >
 
template<class Engine , class Result = typename Engine::result_type>
using is_engine = std::is_invocable_r< Result, Engine >
 
template<class T >
using test_hardened_unordered_set = std::unordered_set< T, hardened_hash<> >
 
template<class T >
using test_hardened_unordered_map = std::unordered_map< T, int, hardened_hash<> >
 
template<class T >
using test_hardened_unordered_multiset = std::unordered_multiset< T, hardened_hash<> >
 
template<class T >
using test_hardened_unordered_multimap = std::unordered_multimap< T, int, hardened_hash<> >
 
using clock_type = std::chrono::steady_clock
 
using response_type = boost::beast::http::response< boost::beast::http::string_body >
 

Enumerations

enum class  TableType { Ledgers , Transactions , AccountTransactions }
 

Functions

template<bool = true>
seed_pair make_seed_pair () noexcept
 
template<class = void>
boost::thread_specific_ptr< detail::LocalValues > & getLocalValues ()
 
void spin_pause () noexcept
 Inform the processor that we are in a tight spin-wait loop.
 
template<class T , class... Args>
STVar make_stvar (Args &&... args)
 
bool operator== (STVar const &lhs, STVar const &rhs)
 
bool operator!= (STVar const &lhs, STVar const &rhs)
 
std::map< std::string, VoteBehavior > const & supportedAmendments ()
 Amendments that this server supports and the default voting behavior.
 
std::size_t numDownVotedAmendments ()
 Amendments that this server won't vote for by default.
 
std::size_t numUpVotedAmendments ()
 Amendments that this server will vote for by default.
 
constexpr std::uint32_t make_hash_prefix (char a, char b, char c)
 
SlabAllocatorSet< SHAMapItemslabber ({ { 128, megabytes(std::size_t(60)) }, { 192, megabytes(std::size_t(46)) }, { 272, megabytes(std::size_t(60)) }, { 384, megabytes(std::size_t(56)) }, { 564, megabytes(std::size_t(40)) }, { 772, megabytes(std::size_t(46)) }, { 1052, megabytes(std::size_t(60)) }, })
 
template<class V , class N , class = std::enable_if_t< std::is_same_v<std::remove_cv_t<N>, SLE> && std::is_base_of_v<ReadView, V>>>
bool internalDirNext (V &view, uint256 const &root, std::shared_ptr< N > &page, unsigned int &index, uint256 &entry)
 
template<class V , class N , class = std::enable_if_t< std::is_same_v<std::remove_cv_t<N>, SLE> && std::is_base_of_v<ReadView, V>>>
bool internalDirFirst (V &view, uint256 const &root, std::shared_ptr< N > &page, unsigned int &index, uint256 &entry)
 
STAmount as_amount (Rate const &rate)
 
void copy_uint32 (std::uint8_t *out, std::uint32_t v)
 
uint256 deriveDeterministicRootKey (Seed const &seed)
 
constexpr char const * realValidatorContents ()
 
std::string configContents (std::string const &dbPath, std::string const &validatorsFile)
 
std::string valFileContents ()
 
std::uint32_t owned_count_of (ReadView const &view, AccountID const &id, LedgerEntryType type)
 
void owned_count_helper (test::jtx::Env &env, AccountID const &id, LedgerEntryType type, std::uint32_t value)
 
template<class Cond , class... Args>
void require_args (test::jtx::requires_t &vec, Cond const &cond, Args const &... args)
 
template<class Rep , class Period >
std::ostreampretty_time (std::ostream &os, std::chrono::duration< Rep, Period > d)
 
template<class Period , class Rep >
std::string fmtdur (std::chrono::duration< Period, Rep > const &d)
 
std::string fmtdur (typename clock_type::duration const &d)
 
Number reduceOffer (auto const &amount)
 
Number::rounding_mode getLPTokenRounding (IsDeposit isDeposit)
 
Number::rounding_mode getAssetRounding (IsDeposit isDeposit)
 
static constexpr std::pair< bool, std::uint64_tsumOfFirstSquares (std::size_t xIn)
 
template<class T >
std::vector< T > getTrustLineItems (AccountID const &accountID, ReadView const &view, LineDirection direction=LineDirection::outgoing)
 
static std::string to_string (TableType type)
 to_string Returns the name of a table according to its TableType.
 
DatabasePairValid makeLedgerDBs (Config const &config, DatabaseCon::Setup const &setup, DatabaseCon::CheckpointerSetup const &checkpointerSetup, beast::Journal j)
 makeLedgerDBs Opens ledger and transactions databases.
 
std::optional< LedgerIndexgetMinLedgerSeq (soci::session &session, TableType type)
 getMinLedgerSeq Returns minimum ledger sequence in given table.
 
std::optional< LedgerIndexgetMaxLedgerSeq (soci::session &session, TableType type)
 getMaxLedgerSeq Returns maximum ledger sequence in given table.
 
void deleteByLedgerSeq (soci::session &session, TableType type, LedgerIndex ledgerSeq)
 deleteByLedgerSeq Deletes all entries in given table for the ledger with given sequence.
 
void deleteBeforeLedgerSeq (soci::session &session, TableType type, LedgerIndex ledgerSeq)
 deleteBeforeLedgerSeq Deletes all entries in given table for the ledgers with given sequence and all sequences below it.
 
std::size_t getRows (soci::session &session, TableType type)
 getRows Returns number of rows in given table.
 
RelationalDatabase::CountMinMax getRowsMinMax (soci::session &session, TableType type)
 getRowsMinMax Returns minimum ledger sequence, maximum ledger sequence and total number of rows in given table.
 
bool saveValidatedLedger (DatabaseCon &ldgDB, DatabaseCon &txnDB, Application &app, std::shared_ptr< Ledger const > const &ledger, bool current)
 saveValidatedLedger Saves ledger into database.
 
static std::optional< LedgerInfogetLedgerInfo (soci::session &session, std::string const &sqlSuffix, beast::Journal j)
 getLedgerInfo Returns the info of the ledger retrieved from the database by using the provided SQL query suffix.
 
std::optional< LedgerInfogetLedgerInfoByIndex (soci::session &session, LedgerIndex ledgerSeq, beast::Journal j)
 getLedgerInfoByIndex Returns ledger by its sequence.
 
std::optional< LedgerInfogetNewestLedgerInfo (soci::session &session, beast::Journal j)
 getNewestLedgerInfo Returns info of newest saved ledger.
 
std::optional< LedgerInfogetLimitedOldestLedgerInfo (soci::session &session, LedgerIndex ledgerFirstIndex, beast::Journal j)
 getLimitedOldestLedgerInfo Returns info of oldest ledger from ledgers with sequences greather or equal to given.
 
std::optional< LedgerInfogetLimitedNewestLedgerInfo (soci::session &session, LedgerIndex ledgerFirstIndex, beast::Journal j)
 getLimitedNewestLedgerInfo Returns info of newest ledger from ledgers with sequences greather or equal to given.
 
std::optional< LedgerInfogetLedgerInfoByHash (soci::session &session, uint256 const &ledgerHash, beast::Journal j)
 getLedgerInfoByHash Returns info of ledger with given hash.
 
uint256 getHashByIndex (soci::session &session, LedgerIndex ledgerIndex)
 getHashByIndex Returns hash of ledger with given sequence.
 
std::optional< LedgerHashPairgetHashesByIndex (soci::session &session, LedgerIndex ledgerIndex, beast::Journal j)
 getHashesByIndex Returns hash of the ledger and hash of parent ledger for the ledger of given sequence.
 
std::map< LedgerIndex, LedgerHashPairgetHashesByIndex (soci::session &session, LedgerIndex minSeq, LedgerIndex maxSeq, beast::Journal j)
 getHashesByIndex Returns hash of the ledger and hash of parent ledger for all ledgers with seqyences from given minimum limit to fiven maximum limit.
 
std::pair< std::vector< std::shared_ptr< Transaction > >, int > getTxHistory (soci::session &session, Application &app, LedgerIndex startIndex, int quantity)
 getTxHistory Returns given number of most recent transactions starting from given number of entry.
 
static std::string transactionsSQL (Application &app, std::string selection, RelationalDatabase::AccountTxOptions const &options, bool descending, bool binary, bool count, beast::Journal j)
 transactionsSQL Returns a SQL query for selecting the oldest or newest transactions in decoded or binary form for the account that matches the given criteria starting from the provided offset.
 
static std::pair< RelationalDatabase::AccountTxs, int > getAccountTxs (soci::session &session, Application &app, LedgerMaster &ledgerMaster, RelationalDatabase::AccountTxOptions const &options, bool descending, beast::Journal j)
 getAccountTxs Returns the oldest or newest transactions for the account that matches the given criteria starting from the provided offset.
 
std::pair< RelationalDatabase::AccountTxs, int > getOldestAccountTxs (soci::session &session, Application &app, LedgerMaster &ledgerMaster, RelationalDatabase::AccountTxOptions const &options, beast::Journal j)
 getOldestAccountTxs Returns oldest transactions for given account which match given criteria starting from given offset.
 
std::pair< RelationalDatabase::AccountTxs, int > getNewestAccountTxs (soci::session &session, Application &app, LedgerMaster &ledgerMaster, RelationalDatabase::AccountTxOptions const &options, beast::Journal j)
 getNewestAccountTxs Returns newest transactions for given account which match given criteria starting from given offset.
 
static std::pair< std::vector< RelationalDatabase::txnMetaLedgerType >, int > getAccountTxsB (soci::session &session, Application &app, RelationalDatabase::AccountTxOptions const &options, bool descending, beast::Journal j)
 getAccountTxsB Returns the oldest or newest transactions in binary form for the account that matches given criteria starting from the provided offset.
 
std::pair< std::vector< RelationalDatabase::txnMetaLedgerType >, int > getOldestAccountTxsB (soci::session &session, Application &app, RelationalDatabase::AccountTxOptions const &options, beast::Journal j)
 getOldestAccountTxsB Returns oldest transactions in binary form for given account which match given criteria starting from given offset.
 
std::pair< std::vector< RelationalDatabase::txnMetaLedgerType >, int > getNewestAccountTxsB (soci::session &session, Application &app, RelationalDatabase::AccountTxOptions const &options, beast::Journal j)
 getNewestAccountTxsB Returns newest transactions in binary form for given account which match given criteria starting from given offset.
 
static std::pair< std::optional< RelationalDatabase::AccountTxMarker >, int > accountTxPage (soci::session &session, std::function< void(std::uint32_t)> const &onUnsavedLedger, std::function< void(std::uint32_t, std::string const &, Blob &&, Blob &&)> const &onTransaction, RelationalDatabase::AccountTxPageOptions const &options, std::uint32_t page_length, bool forward)
 accountTxPage Searches for the oldest or newest transactions for the account that matches the given criteria starting from the provided marker and invokes the callback parameter for each found transaction.
 
std::pair< std::optional< RelationalDatabase::AccountTxMarker >, int > oldestAccountTxPage (soci::session &session, std::function< void(std::uint32_t)> const &onUnsavedLedger, std::function< void(std::uint32_t, std::string const &, Blob &&, Blob &&)> const &onTransaction, RelationalDatabase::AccountTxPageOptions const &options, std::uint32_t page_length)
 oldestAccountTxPage Searches oldest transactions for given account which match given criteria starting from given marker and calls callback for each found transaction.
 
std::pair< std::optional< RelationalDatabase::AccountTxMarker >, int > newestAccountTxPage (soci::session &session, std::function< void(std::uint32_t)> const &onUnsavedLedger, std::function< void(std::uint32_t, std::string const &, Blob &&, Blob &&)> const &onTransaction, RelationalDatabase::AccountTxPageOptions const &options, std::uint32_t page_length)
 newestAccountTxPage Searches newest transactions for given account which match given criteria starting from given marker and calls callback for each found transaction.
 
std::variant< RelationalDatabase::AccountTx, TxSearchedgetTransaction (soci::session &session, Application &app, uint256 const &id, std::optional< ClosedInterval< uint32_t > > const &range, error_code_i &ec)
 getTransaction Returns transaction with given hash.
 
bool dbHasSpace (soci::session &session, Config const &config, beast::Journal j)
 dbHasSpace Checks if given database has available space.
 
NotTEC preflightCheckSigningKey (STObject const &sigObject, beast::Journal j)
 Checks the validity of the transactor signing key.
 
std::optional< NotTECpreflightCheckSimulateKeys (ApplyFlags flags, STObject const &sigObject, beast::Journal j)
 Checks the special signing key state needed for simulation.
 
std::string getSociSqliteInit (std::string const &name, std::string const &dir, std::string const &ext)
 
std::string getSociInit (BasicConfig const &config, std::string const &dbName)
 
template<typename BufferSequence >
auto buffersBegin (BufferSequence const &bufs)
 
template<typename BufferSequence >
auto buffersEnd (BufferSequence const &bufs)
 
template<class BufferSequence >
std::optional< MessageHeaderparseMessageHeader (boost::system::error_code &ec, BufferSequence const &bufs, std::size_t size)
 Parse a message header.
 
template<class T , class Buffers , class = std::enable_if_t< std::is_base_of<::google::protobuf::Message, T>::value>>
std::shared_ptr< T > parseMessageContent (MessageHeader const &header, Buffers const &buffers)
 
template<class T , class Buffers , class Handler , class = std::enable_if_t< std::is_base_of<::google::protobuf::Message, T>::value>>
bool invoke (MessageHeader const &header, Buffers const &buffers, Handler &handler)
 

Variables

defaultObject_t defaultObject
 
nonPresentObject_t nonPresentObject
 
static constexpr std::size_t numFeatures
 
template<typename T >
constexpr bool is_integral_constant = false
 
constexpr std::string_view isoCharSet
 
constexpr std::size_t isoCodeOffset = 12
 
constexpr std::size_t isoCodeLength = 3
 
auto constexpr default_expires = std::chrono::seconds{3600}
 
auto constexpr default_effective_overlap = std::chrono::seconds{30}
 
constexpr int TableTypeCount = 3
 

Typedef Documentation

◆ seed_pair

Definition at line 35 of file hardened_hash.h.

◆ is_engine

template<class Engine , class Result = typename Engine::result_type>
using ripple::detail::is_engine = typedef std::is_invocable_r<Result, Engine>

Definition at line 51 of file include/xrpl/basics/random.h.

◆ test_hardened_unordered_set

Definition at line 82 of file hardened_hash_test.cpp.

◆ test_hardened_unordered_map

template<class T >
using ripple::detail::test_hardened_unordered_map = typedef std::unordered_map<T, int, hardened_hash<> >

Definition at line 85 of file hardened_hash_test.cpp.

◆ test_hardened_unordered_multiset

Definition at line 88 of file hardened_hash_test.cpp.

◆ test_hardened_unordered_multimap

Definition at line 92 of file hardened_hash_test.cpp.

◆ clock_type

Definition at line 46 of file multi_runner.h.

◆ response_type

using ripple::detail::response_type = typedef boost::beast::http::response<boost::beast::http::string_body>

Definition at line 30 of file Work.h.

Enumeration Type Documentation

◆ TableType

enum class ripple::detail::TableType
strong
Enumerator
Ledgers 
Transactions 
AccountTransactions 

Definition at line 31 of file Node.h.

Function Documentation

◆ make_seed_pair()

template<bool = true>
seed_pair ripple::detail::make_seed_pair ( )
noexcept

Definition at line 39 of file hardened_hash.h.

◆ getLocalValues()

template<class = void>
boost::thread_specific_ptr< detail::LocalValues > & ripple::detail::getLocalValues ( )

Definition at line 75 of file LocalValue.h.

◆ spin_pause()

void ripple::detail::spin_pause ( )
noexcept

Inform the processor that we are in a tight spin-wait loop.

Spinlocks caught in tight loops can result in the processor's pipeline filling up with comparison operations, resulting in a misprediction at the time the lock is finally acquired, necessitating pipeline flushing which is ridiculously expensive and results in very high latency.

This function instructs the processor to "pause" for some architecture specific amount of time, to prevent this.

Definition at line 45 of file spinlock.h.

◆ make_stvar()

template<class T , class... Args>
STVar ripple::detail::make_stvar ( Args &&...  args)

Definition at line 164 of file STVar.h.

◆ operator==()

bool ripple::detail::operator== ( STVar const &  lhs,
STVar const &  rhs 
)

Definition at line 172 of file STVar.h.

◆ operator!=()

bool ripple::detail::operator!= ( STVar const &  lhs,
STVar const &  rhs 
)

Definition at line 178 of file STVar.h.

◆ supportedAmendments()

std::map< std::string, VoteBehavior > const & ripple::detail::supportedAmendments ( )

Amendments that this server supports and the default voting behavior.

Amendments that this server supports.

Whether they are enabled depends on the Rules defined in the validated ledger

Definition at line 360 of file Feature.cpp.

◆ numDownVotedAmendments()

std::size_t ripple::detail::numDownVotedAmendments ( )

Amendments that this server won't vote for by default.

This function is only used in unit tests.

Definition at line 367 of file Feature.cpp.

◆ numUpVotedAmendments()

std::size_t ripple::detail::numUpVotedAmendments ( )

Amendments that this server will vote for by default.

This function is only used in unit tests.

Definition at line 374 of file Feature.cpp.

◆ make_hash_prefix()

constexpr std::uint32_t ripple::detail::make_hash_prefix ( char  a,
char  b,
char  c 
)
constexpr

Definition at line 32 of file HashPrefix.h.

◆ slabber()

SlabAllocatorSet< SHAMapItem > ripple::detail::slabber ( { { 128, megabytes(std::size_t(60)) }, { 192, megabytes(std::size_t(46)) }, { 272, megabytes(std::size_t(60)) }, { 384, megabytes(std::size_t(56)) }, { 564, megabytes(std::size_t(40)) }, { 772, megabytes(std::size_t(46)) }, { 1052, megabytes(std::size_t(60)) }, }  )

◆ internalDirNext()

template<class V , class N , class = std::enable_if_t< std::is_same_v<std::remove_cv_t<N>, SLE> && std::is_base_of_v<ReadView, V>>>
bool ripple::detail::internalDirNext ( V &  view,
uint256 const &  root,
std::shared_ptr< N > &  page,
unsigned int &  index,
uint256 entry 
)

Definition at line 52 of file View.cpp.

◆ internalDirFirst()

template<class V , class N , class = std::enable_if_t< std::is_same_v<std::remove_cv_t<N>, SLE> && std::is_base_of_v<ReadView, V>>>
bool ripple::detail::internalDirFirst ( V &  view,
uint256 const &  root,
std::shared_ptr< N > &  page,
unsigned int &  index,
uint256 entry 
)

Definition at line 100 of file View.cpp.

◆ as_amount()

STAmount ripple::detail::as_amount ( Rate const &  rate)

Definition at line 36 of file Rate2.cpp.

◆ copy_uint32()

void ripple::detail::copy_uint32 ( std::uint8_t out,
std::uint32_t  v 
)

Definition at line 77 of file SecretKey.cpp.

◆ deriveDeterministicRootKey()

uint256 ripple::detail::deriveDeterministicRootKey ( Seed const &  seed)

Definition at line 86 of file SecretKey.cpp.

◆ realValidatorContents()

constexpr char const * ripple::detail::realValidatorContents ( )
constexpr

Definition at line 42 of file ValidatorSite_test.cpp.

◆ configContents()

std::string ripple::detail::configContents ( std::string const &  dbPath,
std::string const &  validatorsFile 
)

Definition at line 38 of file Config_test.cpp.

◆ valFileContents()

std::string ripple::detail::valFileContents ( )

Definition at line 210 of file Config_test.cpp.

◆ owned_count_of()

std::uint32_t ripple::detail::owned_count_of ( ReadView const &  view,
AccountID const &  id,
LedgerEntryType  type 
)

Definition at line 26 of file owners.cpp.

◆ owned_count_helper()

void ripple::detail::owned_count_helper ( test::jtx::Env env,
AccountID const &  id,
LedgerEntryType  type,
std::uint32_t  value 
)

Definition at line 38 of file owners.cpp.

◆ require_args()

template<class Cond , class... Args>
void ripple::detail::require_args ( test::jtx::requires_t vec,
Cond const &  cond,
Args const &...  args 
)

Definition at line 34 of file require.h.

◆ pretty_time()

template<class Rep , class Period >
std::ostream & ripple::detail::pretty_time ( std::ostream os,
std::chrono::duration< Rep, Period >  d 
)

Definition at line 94 of file import_test.cpp.

◆ fmtdur() [1/2]

template<class Period , class Rep >
std::string ripple::detail::fmtdur ( std::chrono::duration< Period, Rep > const &  d)

Definition at line 183 of file import_test.cpp.

◆ fmtdur() [2/2]

std::string ripple::detail::fmtdur ( typename clock_type::duration const &  d)

Definition at line 37 of file multi_runner.cpp.

◆ reduceOffer()

Number ripple::detail::reduceOffer ( auto const &  amount)

Definition at line 40 of file AMMHelpers.h.

◆ getLPTokenRounding()

Number::rounding_mode ripple::detail::getLPTokenRounding ( IsDeposit  isDeposit)

Definition at line 654 of file AMMHelpers.h.

◆ getAssetRounding()

Number::rounding_mode ripple::detail::getAssetRounding ( IsDeposit  isDeposit)

Definition at line 662 of file AMMHelpers.h.

◆ sumOfFirstSquares()

static constexpr std::pair< bool, std::uint64_t > ripple::detail::sumOfFirstSquares ( std::size_t  xIn)
staticconstexpr

Definition at line 197 of file TxQ.cpp.

◆ getTrustLineItems()

template<class T >
std::vector< T > ripple::detail::getTrustLineItems ( AccountID const &  accountID,
ReadView const &  view,
LineDirection  direction = LineDirection::outgoing 
)

Definition at line 64 of file TrustLine.cpp.

◆ to_string()

static std::string ripple::detail::to_string ( TableType  type)
static

to_string Returns the name of a table according to its TableType.

Parameters
typeAn enum denoting the table's type.
Returns
Name of the table.

Definition at line 47 of file Node.cpp.

◆ makeLedgerDBs()

DatabasePairValid ripple::detail::makeLedgerDBs ( Config const &  config,
DatabaseCon::Setup const &  setup,
DatabaseCon::CheckpointerSetup const &  checkpointerSetup,
beast::Journal  j 
)

makeLedgerDBs Opens ledger and transactions databases.

Parameters
configConfig object.
setupPath to database and opening parameters.
checkpointerSetupDatabase checkpointer setup.
jJournal.
Returns
Struct DatabasePairValid which contain unique pointers to ledger and transaction databases and flag if opening was successfull.

Definition at line 70 of file Node.cpp.

◆ getMinLedgerSeq()

std::optional< LedgerIndex > ripple::detail::getMinLedgerSeq ( soci::session &  session,
TableType  type 
)

getMinLedgerSeq Returns minimum ledger sequence in given table.

Parameters
sessionSession with database.
typeTable ID for which the result is returned.
Returns
Ledger sequence or none if no ledgers exist.

Definition at line 127 of file Node.cpp.

◆ getMaxLedgerSeq()

std::optional< LedgerIndex > ripple::detail::getMaxLedgerSeq ( soci::session &  session,
TableType  type 
)

getMaxLedgerSeq Returns maximum ledger sequence in given table.

Parameters
sessionSession with database.
typeTable ID for which the result is returned.
Returns
Ledger sequence or none if no ledgers exist.

Definition at line 137 of file Node.cpp.

◆ deleteByLedgerSeq()

void ripple::detail::deleteByLedgerSeq ( soci::session &  session,
TableType  type,
LedgerIndex  ledgerSeq 
)

deleteByLedgerSeq Deletes all entries in given table for the ledger with given sequence.

Parameters
sessionSession with database.
typeTable ID from which entries will be deleted.
ledgerSeqLedger sequence.

Definition at line 147 of file Node.cpp.

◆ deleteBeforeLedgerSeq()

void ripple::detail::deleteBeforeLedgerSeq ( soci::session &  session,
TableType  type,
LedgerIndex  ledgerSeq 
)

deleteBeforeLedgerSeq Deletes all entries in given table for the ledgers with given sequence and all sequences below it.

Parameters
sessionSession with database.
typeTable ID from which entries will be deleted.
ledgerSeqLedger sequence.

Definition at line 154 of file Node.cpp.

◆ getRows()

std::size_t ripple::detail::getRows ( soci::session &  session,
TableType  type 
)

getRows Returns number of rows in given table.

Parameters
sessionSession with database.
typeTable ID for which the result is returned.
Returns
Number of rows.

Definition at line 164 of file Node.cpp.

◆ getRowsMinMax()

RelationalDatabase::CountMinMax ripple::detail::getRowsMinMax ( soci::session &  session,
TableType  type 
)

getRowsMinMax Returns minimum ledger sequence, maximum ledger sequence and total number of rows in given table.

Parameters
sessionSession with database.
typeTable ID for which the result is returned.
Returns
Struct CountMinMax which contain minimum sequence, maximum sequence and number of rows.

Definition at line 176 of file Node.cpp.

◆ saveValidatedLedger()

bool ripple::detail::saveValidatedLedger ( DatabaseCon ldgDB,
DatabaseCon txnDB,
Application app,
std::shared_ptr< Ledger const > const &  ledger,
bool  current 
)

saveValidatedLedger Saves ledger into database.

Parameters
lgrDBLink to ledgers database.
txnDBLink to transactions database.
appApplication object.
ledgerThe ledger.
currentTrue if ledger is current.
Returns
True is saving was successfull.

Definition at line 191 of file Node.cpp.

◆ getLedgerInfo()

static std::optional< LedgerInfo > ripple::detail::getLedgerInfo ( soci::session &  session,
std::string const &  sqlSuffix,
beast::Journal  j 
)
static

getLedgerInfo Returns the info of the ledger retrieved from the database by using the provided SQL query suffix.

Parameters
sessionSession with the database.
sqlSuffixSQL string used to specify the sought ledger.
jJournal.
Returns
Ledger info or no value if the ledger was not found.

Definition at line 401 of file Node.cpp.

◆ getLedgerInfoByIndex()

std::optional< LedgerInfo > ripple::detail::getLedgerInfoByIndex ( soci::session &  session,
LedgerIndex  ledgerSeq,
beast::Journal  j 
)

getLedgerInfoByIndex Returns ledger by its sequence.

Parameters
sessionSession with database.
ledgerSeqLedger sequence.
jJournal.
Returns
Ledger or none if ledger not found.

Definition at line 471 of file Node.cpp.

◆ getNewestLedgerInfo()

std::optional< LedgerInfo > ripple::detail::getNewestLedgerInfo ( soci::session &  session,
beast::Journal  j 
)

getNewestLedgerInfo Returns info of newest saved ledger.

Parameters
sessionSession with database.
jJournal.
Returns
Ledger info or none if ledger not found.

Definition at line 482 of file Node.cpp.

◆ getLimitedOldestLedgerInfo()

std::optional< LedgerInfo > ripple::detail::getLimitedOldestLedgerInfo ( soci::session &  session,
LedgerIndex  ledgerFirstIndex,
beast::Journal  j 
)

getLimitedOldestLedgerInfo Returns info of oldest ledger from ledgers with sequences greather or equal to given.

Parameters
sessionSession with database.
ledgerFirstIndexMinimum ledger sequence.
jJournal.
Returns
Ledger info or none if ledger not found.

Definition at line 490 of file Node.cpp.

◆ getLimitedNewestLedgerInfo()

std::optional< LedgerInfo > ripple::detail::getLimitedNewestLedgerInfo ( soci::session &  session,
LedgerIndex  ledgerFirstIndex,
beast::Journal  j 
)

getLimitedNewestLedgerInfo Returns info of newest ledger from ledgers with sequences greather or equal to given.

Parameters
sessionSession with database.
ledgerFirstIndexMinimum ledger sequence.
jJournal.
Returns
Ledger info or none if ledger not found.

Definition at line 502 of file Node.cpp.

◆ getLedgerInfoByHash()

std::optional< LedgerInfo > ripple::detail::getLedgerInfoByHash ( soci::session &  session,
uint256 const &  ledgerHash,
beast::Journal  j 
)

getLedgerInfoByHash Returns info of ledger with given hash.

Parameters
sessionSession with database.
ledgerHashHash of the ledger.
jJournal.
Returns
Ledger or none if ledger not found.

Definition at line 514 of file Node.cpp.

◆ getHashByIndex()

uint256 ripple::detail::getHashByIndex ( soci::session &  session,
LedgerIndex  ledgerIndex 
)

getHashByIndex Returns hash of ledger with given sequence.

Parameters
sessionSession with database.
ledgerIndexLedger sequence.
Returns
Hash of the ledger.

Definition at line 525 of file Node.cpp.

◆ getHashesByIndex() [1/2]

std::optional< LedgerHashPair > ripple::detail::getHashesByIndex ( soci::session &  session,
LedgerIndex  ledgerIndex,
beast::Journal  j 
)

getHashesByIndex Returns hash of the ledger and hash of parent ledger for the ledger of given sequence.

Parameters
sessionSession with database.
ledgerIndexLedger sequence.
jJournal.
Returns
Struct LedgerHashPair which contain hashes of the ledger and its parent ledger.

Definition at line 555 of file Node.cpp.

◆ getHashesByIndex() [2/2]

std::map< LedgerIndex, LedgerHashPair > ripple::detail::getHashesByIndex ( soci::session &  session,
LedgerIndex  minSeq,
LedgerIndex  maxSeq,
beast::Journal  j 
)

getHashesByIndex Returns hash of the ledger and hash of parent ledger for all ledgers with seqyences from given minimum limit to fiven maximum limit.

Parameters
sessionSession with database.
minSeqMinimum ledger sequence.
maxSeqMaximum ledger sequence.
jJournal.
Returns
Map which points sequence number of found ledger to the struct LedgerHashPair which contains ledger hash and its parent hash.

Definition at line 586 of file Node.cpp.

◆ getTxHistory()

std::pair< std::vector< std::shared_ptr< Transaction > >, int > ripple::detail::getTxHistory ( soci::session &  session,
Application app,
LedgerIndex  startIndex,
int  quantity 
)

getTxHistory Returns given number of most recent transactions starting from given number of entry.

Parameters
sessionSession with database.
appApplication object.
startIndexOffset of first returned entry.
quantityNumber of returned entries.
Returns
Vector of shared pointers to transactions sorted in descending order by ledger sequence. Also number of transactions if count == true.

Definition at line 631 of file Node.cpp.

◆ transactionsSQL()

static std::string ripple::detail::transactionsSQL ( Application app,
std::string  selection,
RelationalDatabase::AccountTxOptions const &  options,
bool  descending,
bool  binary,
bool  count,
beast::Journal  j 
)
static

transactionsSQL Returns a SQL query for selecting the oldest or newest transactions in decoded or binary form for the account that matches the given criteria starting from the provided offset.

Parameters
appApplication object.
selectionList of table fields to select from the database.
optionsStruct AccountTxOptions which contains the criteria to match: the account, the ledger search range, the offset of the first entry to return, the number of transactions to return, and a flag if this number is unlimited.
descendingTrue for descending order, false for ascending.
binaryTrue for binary form, false for decoded.
countTrue for counting the number of transactions, false for selecting them.
jJournal.
Returns
SQL query string.

Definition at line 698 of file Node.cpp.

◆ getAccountTxs()

static std::pair< RelationalDatabase::AccountTxs, int > ripple::detail::getAccountTxs ( soci::session &  session,
Application app,
LedgerMaster ledgerMaster,
RelationalDatabase::AccountTxOptions const &  options,
bool  descending,
beast::Journal  j 
)
static

getAccountTxs Returns the oldest or newest transactions for the account that matches the given criteria starting from the provided offset.

Parameters
sessionSession with the database.
appApplication object.
ledgerMasterLedgerMaster object.
optionsStruct AccountTxOptions which contains the criteria to match: the account, the ledger search range, the offset of the first entry to return, the number of transactions to return, and a flag if this number is unlimited.
descendingTrue for descending order, false for ascending.
jJournal.
Returns
Vector of pairs of found transactions and their metadata sorted by account sequence in the specified order along with the number of transactions processed or skipped. If this number is >= 0, then it represents the number of transactions processed, if it is < 0, then -number represents the number of transactions skipped. We need to skip some number of transactions if option offset is > 0 in the options structure.

Definition at line 794 of file Node.cpp.

◆ getOldestAccountTxs()

std::pair< RelationalDatabase::AccountTxs, int > ripple::detail::getOldestAccountTxs ( soci::session &  session,
Application app,
LedgerMaster ledgerMaster,
RelationalDatabase::AccountTxOptions const &  options,
beast::Journal  j 
)

getOldestAccountTxs Returns oldest transactions for given account which match given criteria starting from given offset.

Parameters
sessionSession with database.
appApplication object.
ledgerMasterLedgerMaster object.
optionsStruct AccountTxOptions which contain criteria to match: the account, minimum and maximum ledger numbers to search, offset of first entry to return, number of transactions to return, flag if this number unlimited.
jJournal.
Returns
Vector of pairs of found transactions and their metadata sorted in ascending order by account sequence. Also number of transactions processed or skipped. If this number is >= 0, then it means number of transactions processed, if it is < 0, then -number means number of transactions skipped. We need to skip some quantity of transactions if option offset is > 0 in the options structure.

Definition at line 874 of file Node.cpp.

◆ getNewestAccountTxs()

std::pair< RelationalDatabase::AccountTxs, int > ripple::detail::getNewestAccountTxs ( soci::session &  session,
Application app,
LedgerMaster ledgerMaster,
RelationalDatabase::AccountTxOptions const &  options,
beast::Journal  j 
)

getNewestAccountTxs Returns newest transactions for given account which match given criteria starting from given offset.

Parameters
sessionSession with database.
appApplication object.
ledgerMasterLedgerMaster object.
optionsStruct AccountTxOptions which contain criteria to match: the account, minimum and maximum ledger numbers to search, offset of first entry to return, number of transactions to return, flag if this number unlimited.
jJournal.
Returns
Vector of pairs of found transactions and their metadata sorted in descending order by account sequence. Also number of transactions processed or skipped. If this number is >= 0, then it means number of transactions processed, if it is < 0, then -number means number of transactions skipped. We need to skip some quantity of transactions if option offset is > 0 in the options structure.

Definition at line 885 of file Node.cpp.

◆ getAccountTxsB()

static std::pair< std::vector< RelationalDatabase::txnMetaLedgerType >, int > ripple::detail::getAccountTxsB ( soci::session &  session,
Application app,
RelationalDatabase::AccountTxOptions const &  options,
bool  descending,
beast::Journal  j 
)
static

getAccountTxsB Returns the oldest or newest transactions in binary form for the account that matches given criteria starting from the provided offset.

Parameters
sessionSession with the database.
appApplication object.
optionsStruct AccountTxOptions which contains the criteria to match: the account, the ledger search range, the offset of the first entry to return, the number of transactions to return, and a flag if this number is unlimited.
descendingTrue for descending order, false for ascending.
jJournal.
Returns
Vector of tuples each containing (the found transactions, their metadata, and their account sequences) sorted by account sequence in the specified order along with the number of transactions processed or skipped. If this number is >= 0, then it represents the number of transactions processed, if it is < 0, then -number represents the number of transactions skipped. We need to skip some number of transactions if option offset is > 0 in the options structure.

Definition at line 916 of file Node.cpp.

◆ getOldestAccountTxsB()

std::pair< std::vector< RelationalDatabase::txnMetaLedgerType >, int > ripple::detail::getOldestAccountTxsB ( soci::session &  session,
Application app,
RelationalDatabase::AccountTxOptions const &  options,
beast::Journal  j 
)

getOldestAccountTxsB Returns oldest transactions in binary form for given account which match given criteria starting from given offset.

Parameters
sessionSession with database.
appApplication object.
optionsStruct AccountTxOptions which contain criteria to match: the account, minimum and maximum ledger numbers to search, offset of first entry to return, number of transactions to return, flag if this number unlimited.
jJournal.
Returns
Vector of tuples of found transactions, their metadata and account sequences sorted in ascending order by account sequence. Also number of transactions processed or skipped. If this number is >= 0, then it means number of transactions processed, if it is < 0, then -number means number of transactions skipped. We need to skip some quantity of transactions if option offset is > 0 in the options structure.

Definition at line 974 of file Node.cpp.

◆ getNewestAccountTxsB()

std::pair< std::vector< RelationalDatabase::txnMetaLedgerType >, int > ripple::detail::getNewestAccountTxsB ( soci::session &  session,
Application app,
RelationalDatabase::AccountTxOptions const &  options,
beast::Journal  j 
)

getNewestAccountTxsB Returns newest transactions in binary form for given account which match given criteria starting from given offset.

Parameters
sessionSession with database.
appApplication object.
optionsStruct AccountTxOptions which contain criteria to match: the account, minimum and maximum ledger numbers to search, offset of first entry to return, number of transactions to return, flag if this number unlimited.
jJournal.
Returns
Vector of tuples of found transactions, their metadata and account sequences sorted in descending order by account sequence. Also number of transactions processed or skipped. If this number is >= 0, then it means number of transactions processed, if it is < 0, then -number means number of transactions skipped. We need to skip some quantity of transactions if option offset is > 0 in the options structure.

Definition at line 984 of file Node.cpp.

◆ accountTxPage()

static std::pair< std::optional< RelationalDatabase::AccountTxMarker >, int > ripple::detail::accountTxPage ( soci::session &  session,
std::function< void(std::uint32_t)> const &  onUnsavedLedger,
std::function< void(std::uint32_t, std::string const &, Blob &&, Blob &&)> const &  onTransaction,
RelationalDatabase::AccountTxPageOptions const &  options,
std::uint32_t  page_length,
bool  forward 
)
static

accountTxPage Searches for the oldest or newest transactions for the account that matches the given criteria starting from the provided marker and invokes the callback parameter for each found transaction.

Parameters
sessionSession with the database.
onUnsavedLedgerCallback function to call on each found unsaved ledger within the given range.
onTransactionCallback function to call on each found transaction.
optionsStruct AccountTxPageOptions which contains the criteria to match: the account, the ledger search range, the marker of the first returned entry, the number of transactions to return, and a flag if this number unlimited.
page_lengthTotal number of transactions to return.
forwardTrue for ascending order, false for descending.
Returns
Vector of tuples of found transactions, their metadata and account sequences sorted in the specified order by account sequence, a marker for the next search if the search was not finished and the number of transactions processed during this call.

Definition at line 1013 of file Node.cpp.

◆ oldestAccountTxPage()

std::pair< std::optional< RelationalDatabase::AccountTxMarker >, int > ripple::detail::oldestAccountTxPage ( soci::session &  session,
std::function< void(std::uint32_t)> const &  onUnsavedLedger,
std::function< void(std::uint32_t, std::string const &, Blob &&, Blob &&)> const &  onTransaction,
RelationalDatabase::AccountTxPageOptions const &  options,
std::uint32_t  page_length 
)

oldestAccountTxPage Searches oldest transactions for given account which match given criteria starting from given marker and calls callback for each found transaction.

Parameters
sessionSession with database.
onUnsavedLedgerCallback function to call on each found unsaved ledger within given range.
onTransactionCallback function to call on each found transaction.
optionsStruct AccountTxPageOptions which contain criteria to match: the account, minimum and maximum ledger numbers to search, marker of first returned entry, number of transactions to return, flag if this number unlimited.
page_lengthTotal number of transactions to return.
Returns
Vector of tuples of found transactions, their metadata and account sequences sorted in ascending order by account sequence and marker for next search if search not finished. Also number of transactions processed during this call.

Definition at line 1167 of file Node.cpp.

◆ newestAccountTxPage()

std::pair< std::optional< RelationalDatabase::AccountTxMarker >, int > ripple::detail::newestAccountTxPage ( soci::session &  session,
std::function< void(std::uint32_t)> const &  onUnsavedLedger,
std::function< void(std::uint32_t, std::string const &, Blob &&, Blob &&)> const &  onTransaction,
RelationalDatabase::AccountTxPageOptions const &  options,
std::uint32_t  page_length 
)

newestAccountTxPage Searches newest transactions for given account which match given criteria starting from given marker and calls callback for each found transaction.

Parameters
sessionSession with database.
onUnsavedLedgerCallback function to call on each found unsaved ledger within given range.
onTransactionCallback function to call on each found transaction.
optionsStruct AccountTxPageOptions which contain criteria to match: the account, minimum and maximum ledger numbers to search, marker of first returned entry, number of transactions to return, flag if this number unlimited.
page_lengthTotal number of transactions to return.
Returns
Vector of tuples of found transactions, their metadata and account sequences sorted in descending order by account sequence and marker for next search if search not finished. Also number of transactions processed during this call.

Definition at line 1181 of file Node.cpp.

◆ getTransaction()

std::variant< RelationalDatabase::AccountTx, TxSearched > ripple::detail::getTransaction ( soci::session &  session,
Application app,
uint256 const &  id,
std::optional< ClosedInterval< uint32_t > > const &  range,
error_code_i ec 
)

getTransaction Returns transaction with given hash.

If not found and range given then check if all ledgers from the range are present in the database.

Parameters
sessionSession with database.
appApplication object.
idHash of the transaction.
rangeRange of ledgers to check, if present.
ecDefault value of error code.
Returns
Transaction and its metadata if found, TxSearched::all if range given and all ledgers from range are present in the database, TxSearched::some if range given and not all ledgers are present, TxSearched::unknown if range not given or deserializing error occured. In the last case error code modified in ec link parameter, in other cases default error code remained.

Definition at line 1195 of file Node.cpp.

◆ dbHasSpace()

bool ripple::detail::dbHasSpace ( soci::session &  session,
Config const &  config,
beast::Journal  j 
)

dbHasSpace Checks if given database has available space.

Parameters
sessionSession with database.
configConfig object.
jJournal.
Returns
True if space is available.

Definition at line 1276 of file Node.cpp.

◆ preflightCheckSigningKey()

NotTEC ripple::detail::preflightCheckSigningKey ( STObject const &  sigObject,
beast::Journal  j 
)

Checks the validity of the transactor signing key.

Normally called from preflight1.

Normally called from preflight1 with ctx.tx.

Definition at line 104 of file Transactor.cpp.

◆ preflightCheckSimulateKeys()

std::optional< NotTEC > ripple::detail::preflightCheckSimulateKeys ( ApplyFlags  flags,
STObject const &  sigObject,
beast::Journal  j 
)

Checks the special signing key state needed for simulation.

Normally called from preflight2 with ctx.tx.

Definition at line 116 of file Transactor.cpp.

◆ getSociSqliteInit()

std::string ripple::detail::getSociSqliteInit ( std::string const &  name,
std::string const &  dir,
std::string const &  ext 
)

Definition at line 45 of file SociDB.cpp.

◆ getSociInit()

std::string ripple::detail::getSociInit ( BasicConfig const &  config,
std::string const &  dbName 
)

Definition at line 63 of file SociDB.cpp.

◆ buffersBegin()

template<typename BufferSequence >
auto ripple::detail::buffersBegin ( BufferSequence const &  bufs)

Definition at line 144 of file ProtocolMessage.h.

◆ buffersEnd()

template<typename BufferSequence >
auto ripple::detail::buffersEnd ( BufferSequence const &  bufs)

Definition at line 152 of file ProtocolMessage.h.

◆ parseMessageHeader()

template<class BufferSequence >
std::optional< MessageHeader > ripple::detail::parseMessageHeader ( boost::system::error_code &  ec,
BufferSequence const &  bufs,
std::size_t  size 
)

Parse a message header.

Returns
a seated optional if the message header was successfully parsed. An unseated optional otherwise, in which case
Parameters
eccontains more information:
  • set to errc::success if not enough bytes were present
  • set to errc::no_message if a valid header was not present @bufs - sequence of input buffers, can't be empty @size input data size

Definition at line 169 of file ProtocolMessage.h.

◆ parseMessageContent()

template<class T , class Buffers , class = std::enable_if_t< std::is_base_of<::google::protobuf::Message, T>::value>>
std::shared_ptr< T > ripple::detail::parseMessageContent ( MessageHeader const &  header,
Buffers const &  buffers 
)

Definition at line 266 of file ProtocolMessage.h.

◆ invoke()

template<class T , class Buffers , class Handler , class = std::enable_if_t< std::is_base_of<::google::protobuf::Message, T>::value>>
bool ripple::detail::invoke ( MessageHeader const &  header,
Buffers const &  buffers,
Handler &  handler 
)

Definition at line 301 of file ProtocolMessage.h.

Variable Documentation

◆ defaultObject

defaultObject_t ripple::detail::defaultObject

Definition at line 47 of file STVar.cpp.

◆ nonPresentObject

nonPresentObject_t ripple::detail::nonPresentObject

Definition at line 48 of file STVar.cpp.

◆ numFeatures

constexpr std::size_t ripple::detail::numFeatures
staticconstexpr
Initial value:
=
(0 +
)

Definition at line 111 of file Feature.h.

◆ is_integral_constant

template<typename T >
constexpr bool ripple::detail::is_integral_constant = false
constexpr

Definition at line 38 of file MultiApiJson.h.

◆ isoCharSet

constexpr std::string_view ripple::detail::isoCharSet
constexpr
Initial value:
=
"abcdefghijklmnopqrstuvwxyz"
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
"0123456789"
"<>(){}[]|?!@#$%^&*"

Definition at line 39 of file UintTypes.cpp.

◆ isoCodeOffset

constexpr std::size_t ripple::detail::isoCodeOffset = 12
constexpr

Definition at line 46 of file UintTypes.cpp.

◆ isoCodeLength

constexpr std::size_t ripple::detail::isoCodeLength = 3
constexpr

Definition at line 49 of file UintTypes.cpp.

◆ default_expires

auto constexpr ripple::detail::default_expires = std::chrono::seconds{3600}
constexpr

Definition at line 54 of file ValidatorSite_test.cpp.

◆ default_effective_overlap

auto constexpr ripple::detail::default_effective_overlap = std::chrono::seconds{30}
constexpr

Definition at line 55 of file ValidatorSite_test.cpp.

◆ TableTypeCount

constexpr int ripple::detail::TableTypeCount = 3
constexpr

Definition at line 32 of file Node.h.