20#ifndef RIPPLE_APP_PATHS_PATHREQUEST_H_INCLUDED
21#define RIPPLE_APP_PATHS_PATHREQUEST_H_INCLUDED
23#include <xrpld/app/ledger/Ledger.h>
24#include <xrpld/app/paths/Pathfinder.h>
25#include <xrpld/app/paths/RippleLineCache.h>
26#include <xrpld/net/InfoSub.h>
28#include <xrpl/json/json_value.h>
29#include <xrpl/protocol/UintTypes.h>
45#define PFR_PJ_INVALID -1
46#define PFR_PJ_NOCHANGE 0
170 std::chrono::steady_clock::time_point
const created_;
A generic endpoint for log messages.
Tracks the number of instances of an object.
std::optional< STAmount > saSendMax
std::function< void(void)> fCompletion
static unsigned int const max_paths_
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.
Json::Value doClose() override
std::weak_ptr< InfoSub > wpSubscriber
Json::Value doStatus(Json::Value const &) override
std::set< Issue > sciSourceCurrencies
int parseJson(Json::Value const &)
bool needsUpdate(bool newOnly, LedgerIndex index)
std::recursive_mutex mLock
std::recursive_mutex mIndexLock
Resource::Consumer & consumer_
std::optional< AccountID > raSrcAccount
InfoSub::pointer getSubscriber() const
Json::Value doUpdate(std::shared_ptr< RippleLineCache > const &, bool fast, std::function< bool(void)> const &continueCallback={})
std::chrono::steady_clock::time_point full_reply_
std::pair< bool, Json::Value > doCreate(std::shared_ptr< RippleLineCache > const &, Json::Value const &)
std::chrono::steady_clock::time_point quick_reply_
std::map< Issue, STPathSet > mContext
std::optional< AccountID > raDstAccount
std::chrono::steady_clock::time_point const created_
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 &)
bool isValid(std::shared_ptr< RippleLineCache > const &crCache)
An endpoint that consumes resources.
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.