20 #ifndef RIPPLE_APP_PATHS_RIPPLELINECACHE_H_INCLUDED
21 #define RIPPLE_APP_PATHS_RIPPLELINECACHE_H_INCLUDED
23 #include <ripple/app/ledger/Ledger.h>
24 #include <ripple/app/paths/TrustLine.h>
25 #include <ripple/basics/CountedObject.h>
26 #include <ripple/basics/hardened_hash.h>
107 explicit Hash() =
default;
112 return key.get_hash();
Tracks the number of instances of an object.
LineDirection
Describes how an account was found in a path, and how to find the next set of paths.
std::size_t operator()(AccountKey const &key) const noexcept
std::shared_ptr< ReadView const > ledger_
Integers of any length that is a multiple of 32-bits.
bool operator==(AccountKey const &lhs) const
std::size_t totalLineCount_
Seed functor once per construction.
std::size_t get_hash() const
A generic endpoint for log messages.
AccountKey(AccountID const &account, LineDirection direction, std::size_t hash)
AccountKey & operator=(AccountKey const &other)=default
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
RippleLineCache(std::shared_ptr< ReadView const > const &l, beast::Journal j)
ripple::hardened_hash hasher_
hash_map< AccountKey, std::shared_ptr< std::vector< PathFindTrustLine > >, AccountKey::Hash > lines_
std::shared_ptr< std::vector< PathFindTrustLine > > getRippleLines(AccountID const &accountID, LineDirection direction)
Find the trust lines associated with an account.
std::shared_ptr< ReadView const > const & getLedger() const