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>
29 #include <boost/optional.hpp>
40 class RippleLineCache;
44 #define PFR_PJ_INVALID -1
45 #define PFR_PJ_NOCHANGE 0
46 #define PFR_PJ_CHANGE 1
161 std::chrono::steady_clock::time_point
const created_;
Json::Value doClose(Json::Value const &)
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)
boost::optional< AccountID > raDstAccount
std::chrono::steady_clock::time_point full_reply_
std::recursive_mutex mIndexLock
Resource::Consumer & consumer_
std::function< void(void)> fCompletion
std::chrono::steady_clock::time_point quick_reply_
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
InfoSub::pointer getSubscriber()
bool findPaths(std::shared_ptr< RippleLineCache > const &, int const, Json::Value &)
Finds and sets a PathSet in the JSON argument.
A generic endpoint for log messages.
bool isValid(std::shared_ptr< RippleLineCache > const &crCache)
std::pair< bool, Json::Value > doCreate(std::shared_ptr< RippleLineCache > const &, Json::Value const &)
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_
Json::Value doUpdate(std::shared_ptr< RippleLineCache > const &, bool fast)
std::weak_ptr< InfoSub > wpSubscriber
Json::Value doStatus(Json::Value const &)
An endpoint that consumes resources.
boost::optional< STAmount > saSendMax
bool needsUpdate(bool newOnly, LedgerIndex index)
int parseJson(Json::Value const &)
boost::optional< AccountID > raSrcAccount