1#ifndef XRPL_APP_PATHS_PATHREQUEST_H_INCLUDED
2#define XRPL_APP_PATHS_PATHREQUEST_H_INCLUDED
4#include <xrpld/app/ledger/Ledger.h>
5#include <xrpld/app/paths/Pathfinder.h>
6#include <xrpld/app/paths/RippleLineCache.h>
7#include <xrpld/rpc/InfoSub.h>
9#include <xrpl/basics/base_uint.h>
10#include <xrpl/json/json_value.h>
11#include <xrpl/protocol/UintTypes.h>
27#define PFR_PJ_INVALID -1
28#define PFR_PJ_NOCHANGE 0
154 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
std::optional< uint256 > domain
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.