20 #ifndef RIPPLE_APP_PATHS_PATHREQUEST_H_INCLUDED
21 #define RIPPLE_APP_PATHS_PATHREQUEST_H_INCLUDED
23 #include <ripple/app/ledger/Ledger.h>
24 #include <ripple/app/paths/Pathfinder.h>
25 #include <ripple/app/paths/RippleLineCache.h>
26 #include <ripple/json/json_value.h>
27 #include <ripple/net/InfoSub.h>
28 #include <ripple/protocol/UintTypes.h>
40 class RippleLineCache;
44 #define PFR_PJ_INVALID -1
45 #define PFR_PJ_NOCHANGE 0
169 std::chrono::steady_clock::time_point
const created_;
Tracks the number of instances of an object.
std::map< Issue, STPathSet > mContext
std::unique_ptr< Pathfinder > const & getPathFinder(std::shared_ptr< RippleLineCache > const &, hash_map< Currency, std::unique_ptr< Pathfinder >> &, Currency const &, STAmount const &, int const, std::function< bool(void)> const &)
std::chrono::steady_clock::time_point full_reply_
std::recursive_mutex mIndexLock
Resource::Consumer & consumer_
std::function< void(void)> fCompletion
std::optional< AccountID > raDstAccount
Json::Value doStatus(Json::Value const &) override
Json::Value doUpdate(std::shared_ptr< RippleLineCache > const &, bool fast, std::function< bool(void)> const &continueCallback={})
std::chrono::steady_clock::time_point quick_reply_
Integers of any length that is a multiple of 32-bits.
PathRequest(Application &app, std::shared_ptr< InfoSub > const &subscriber, int id, PathRequests &, beast::Journal journal)
static unsigned const int max_paths_
std::set< Issue > sciSourceCurrencies
A generic endpoint for log messages.
std::optional< AccountID > raSrcAccount
bool isValid(std::shared_ptr< RippleLineCache > const &crCache)
Json::Value doClose() override
std::pair< bool, Json::Value > doCreate(std::shared_ptr< RippleLineCache > const &, Json::Value const &)
bool findPaths(std::shared_ptr< RippleLineCache > const &, int const, Json::Value &, std::function< bool(void)> const &)
Finds and sets a PathSet in the JSON argument.
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
std::recursive_mutex mLock
const std::chrono::steady_clock::time_point created_
std::weak_ptr< InfoSub > wpSubscriber
An endpoint that consumes resources.
std::optional< STAmount > saSendMax
bool needsUpdate(bool newOnly, LedgerIndex index)
InfoSub::pointer getSubscriber() const
int parseJson(Json::Value const &)