mirror of
https://github.com/XRPLF/rippled.git
synced 2025-11-21 11:35:53 +00:00
Take advantage of perfect forwarding in a few more places.
This commit is contained in:
@@ -785,7 +785,7 @@ int commandLineRPC(const std::vector<std::string>& vCmd)
|
|||||||
: vCmd[0],
|
: vCmd[0],
|
||||||
jvParams, // Parsed, execute.
|
jvParams, // Parsed, execute.
|
||||||
false,
|
false,
|
||||||
boost::bind(callRPCHandler, &jvOutput, _1));
|
BIND_TYPE(callRPCHandler, &jvOutput, P_1));
|
||||||
|
|
||||||
isService.run(); // This blocks until there is no more outstanding async calls.
|
isService.run(); // This blocks until there is no more outstanding async calls.
|
||||||
|
|
||||||
@@ -848,7 +848,7 @@ int commandLineRPC(const std::vector<std::string>& vCmd)
|
|||||||
#define RPC_NOTIFY_SECONDS 10
|
#define RPC_NOTIFY_SECONDS 10
|
||||||
|
|
||||||
bool responseRPC(
|
bool responseRPC(
|
||||||
boost::function<void(const Json::Value& jvInput)> callbackFuncP,
|
FUNCTION_TYPE<void(const Json::Value& jvInput)> callbackFuncP,
|
||||||
const boost::system::error_code& ecResult, int iStatus, const std::string& strData)
|
const boost::system::error_code& ecResult, int iStatus, const std::string& strData)
|
||||||
{
|
{
|
||||||
if (callbackFuncP)
|
if (callbackFuncP)
|
||||||
@@ -886,7 +886,9 @@ bool responseRPC(
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Build the request.
|
// Build the request.
|
||||||
void requestRPC(const std::string& strMethod, const Json::Value& jvParams, const std::map<std::string, std::string>& mHeaders, const std::string& strPath, boost::asio::streambuf& sb, const std::string& strHost)
|
void requestRPC(const std::string& strMethod, const Json::Value& jvParams,
|
||||||
|
const std::map<std::string, std::string>& mHeaders, const std::string& strPath,
|
||||||
|
boost::asio::streambuf& sb, const std::string& strHost)
|
||||||
{
|
{
|
||||||
cLog(lsDEBUG) << "requestRPC: strPath='" << strPath << "'";
|
cLog(lsDEBUG) << "requestRPC: strPath='" << strPath << "'";
|
||||||
|
|
||||||
@@ -906,7 +908,7 @@ void callRPC(
|
|||||||
const std::string& strUsername, const std::string& strPassword,
|
const std::string& strUsername, const std::string& strPassword,
|
||||||
const std::string& strPath, const std::string& strMethod,
|
const std::string& strPath, const std::string& strMethod,
|
||||||
const Json::Value& jvParams, const bool bSSL,
|
const Json::Value& jvParams, const bool bSSL,
|
||||||
boost::function<void(const Json::Value& jvInput)> callbackFuncP)
|
FUNCTION_TYPE<void(const Json::Value& jvInput)> callbackFuncP)
|
||||||
{
|
{
|
||||||
// Connect to localhost
|
// Connect to localhost
|
||||||
if (!theConfig.QUIET)
|
if (!theConfig.QUIET)
|
||||||
@@ -933,15 +935,15 @@ void callRPC(
|
|||||||
io_service,
|
io_service,
|
||||||
strIp,
|
strIp,
|
||||||
iPort,
|
iPort,
|
||||||
boost::bind(
|
BIND_TYPE(
|
||||||
&requestRPC,
|
&requestRPC,
|
||||||
strMethod,
|
strMethod,
|
||||||
jvParams,
|
jvParams,
|
||||||
mapRequestHeaders,
|
mapRequestHeaders,
|
||||||
strPath, _1, _2),
|
strPath, P_1, P_2),
|
||||||
RPC_REPLY_MAX_BYTES,
|
RPC_REPLY_MAX_BYTES,
|
||||||
boost::posix_time::seconds(RPC_NOTIFY_SECONDS),
|
boost::posix_time::seconds(RPC_NOTIFY_SECONDS),
|
||||||
boost::bind(&responseRPC, callbackFuncP, _1, _2, _3));
|
BIND_TYPE(&responseRPC, callbackFuncP, P_1, P_2, P_3));
|
||||||
}
|
}
|
||||||
|
|
||||||
// vim:ts=4
|
// vim:ts=4
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ extern void callRPC(
|
|||||||
const std::string& strUsername, const std::string& strPassword,
|
const std::string& strUsername, const std::string& strPassword,
|
||||||
const std::string& strPath, const std::string& strMethod,
|
const std::string& strPath, const std::string& strMethod,
|
||||||
const Json::Value& jvParams, const bool bSSL,
|
const Json::Value& jvParams, const bool bSSL,
|
||||||
boost::function<void(const Json::Value& jvInput)> callbackFuncP = 0);
|
FUNCTION_TYPE<void(const Json::Value& jvInput)> callbackFuncP = 0);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// vim:ts=4
|
// vim:ts=4
|
||||||
|
|||||||
@@ -6,7 +6,6 @@
|
|||||||
#include "utils.h"
|
#include "utils.h"
|
||||||
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <boost/bind.hpp>
|
|
||||||
#include <boost/date_time/posix_time/posix_time.hpp>
|
#include <boost/date_time/posix_time/posix_time.hpp>
|
||||||
#include <boost/regex.hpp>
|
#include <boost/regex.hpp>
|
||||||
#include <boost/smart_ptr/shared_ptr.hpp>
|
#include <boost/smart_ptr/shared_ptr.hpp>
|
||||||
@@ -52,9 +51,9 @@ void HttpsClient::makeGet(const std::string& strPath, boost::asio::streambuf& sb
|
|||||||
void HttpsClient::httpsRequest(
|
void HttpsClient::httpsRequest(
|
||||||
bool bSSL,
|
bool bSSL,
|
||||||
std::deque<std::string> deqSites,
|
std::deque<std::string> deqSites,
|
||||||
boost::function<void(boost::asio::streambuf& sb, const std::string& strHost)> build,
|
FUNCTION_TYPE<void(boost::asio::streambuf& sb, const std::string& strHost)> build,
|
||||||
boost::posix_time::time_duration timeout,
|
boost::posix_time::time_duration timeout,
|
||||||
boost::function<bool(const boost::system::error_code& ecResult, int iStatus, const std::string& strData)> complete)
|
FUNCTION_TYPE<bool(const boost::system::error_code& ecResult, int iStatus, const std::string& strData)> complete)
|
||||||
{
|
{
|
||||||
mSSL = bSSL;
|
mSSL = bSSL;
|
||||||
mDeqSites = deqSites;
|
mDeqSites = deqSites;
|
||||||
@@ -70,7 +69,7 @@ void HttpsClient::httpsGet(
|
|||||||
std::deque<std::string> deqSites,
|
std::deque<std::string> deqSites,
|
||||||
const std::string& strPath,
|
const std::string& strPath,
|
||||||
boost::posix_time::time_duration timeout,
|
boost::posix_time::time_duration timeout,
|
||||||
boost::function<bool(const boost::system::error_code& ecResult, int iStatus, const std::string& strData)> complete) {
|
FUNCTION_TYPE<bool(const boost::system::error_code& ecResult, int iStatus, const std::string& strData)> complete) {
|
||||||
|
|
||||||
mComplete = complete;
|
mComplete = complete;
|
||||||
mTimeout = timeout;
|
mTimeout = timeout;
|
||||||
@@ -78,7 +77,7 @@ void HttpsClient::httpsGet(
|
|||||||
httpsRequest(
|
httpsRequest(
|
||||||
bSSL,
|
bSSL,
|
||||||
deqSites,
|
deqSites,
|
||||||
boost::bind(&HttpsClient::makeGet, shared_from_this(), strPath, _1, _2),
|
BIND_TYPE(&HttpsClient::makeGet, shared_from_this(), strPath, P_1, P_2),
|
||||||
timeout,
|
timeout,
|
||||||
complete);
|
complete);
|
||||||
}
|
}
|
||||||
@@ -403,7 +402,7 @@ void HttpsClient::httpsGet(
|
|||||||
const std::string& strPath,
|
const std::string& strPath,
|
||||||
std::size_t responseMax,
|
std::size_t responseMax,
|
||||||
boost::posix_time::time_duration timeout,
|
boost::posix_time::time_duration timeout,
|
||||||
boost::function<bool(const boost::system::error_code& ecResult, int iStatus, const std::string& strData)> complete) {
|
FUNCTION_TYPE<bool(const boost::system::error_code& ecResult, int iStatus, const std::string& strData)> complete) {
|
||||||
|
|
||||||
boost::shared_ptr<HttpsClient> client(new HttpsClient(io_service, port, responseMax));
|
boost::shared_ptr<HttpsClient> client(new HttpsClient(io_service, port, responseMax));
|
||||||
|
|
||||||
@@ -418,7 +417,7 @@ void HttpsClient::httpsGet(
|
|||||||
const std::string& strPath,
|
const std::string& strPath,
|
||||||
std::size_t responseMax,
|
std::size_t responseMax,
|
||||||
boost::posix_time::time_duration timeout,
|
boost::posix_time::time_duration timeout,
|
||||||
boost::function<bool(const boost::system::error_code& ecResult, int iStatus, const std::string& strData)> complete) {
|
FUNCTION_TYPE<bool(const boost::system::error_code& ecResult, int iStatus, const std::string& strData)> complete) {
|
||||||
|
|
||||||
std::deque<std::string> deqSites(1, strSite);
|
std::deque<std::string> deqSites(1, strSite);
|
||||||
|
|
||||||
@@ -432,10 +431,10 @@ void HttpsClient::httpsRequest(
|
|||||||
boost::asio::io_service& io_service,
|
boost::asio::io_service& io_service,
|
||||||
std::string strSite,
|
std::string strSite,
|
||||||
const unsigned short port,
|
const unsigned short port,
|
||||||
boost::function<void(boost::asio::streambuf& sb, const std::string& strHost)> setRequest,
|
FUNCTION_TYPE<void(boost::asio::streambuf& sb, const std::string& strHost)> setRequest,
|
||||||
std::size_t responseMax,
|
std::size_t responseMax,
|
||||||
boost::posix_time::time_duration timeout,
|
boost::posix_time::time_duration timeout,
|
||||||
boost::function<bool(const boost::system::error_code& ecResult, int iStatus, const std::string& strData)> complete) {
|
FUNCTION_TYPE<bool(const boost::system::error_code& ecResult, int iStatus, const std::string& strData)> complete) {
|
||||||
|
|
||||||
std::deque<std::string> deqSites(1, strSite);
|
std::deque<std::string> deqSites(1, strSite);
|
||||||
|
|
||||||
|
|||||||
@@ -8,10 +8,10 @@
|
|||||||
#include <boost/asio/ssl.hpp>
|
#include <boost/asio/ssl.hpp>
|
||||||
#include <boost/date_time/posix_time/posix_time_types.hpp>
|
#include <boost/date_time/posix_time/posix_time_types.hpp>
|
||||||
#include <boost/enable_shared_from_this.hpp>
|
#include <boost/enable_shared_from_this.hpp>
|
||||||
#include <boost/function.hpp>
|
|
||||||
#include <boost/shared_ptr.hpp>
|
#include <boost/shared_ptr.hpp>
|
||||||
|
|
||||||
#include "AutoSocket.h"
|
#include "AutoSocket.h"
|
||||||
|
#include "utils.h"
|
||||||
|
|
||||||
//
|
//
|
||||||
// Async https client.
|
// Async https client.
|
||||||
@@ -33,8 +33,8 @@ private:
|
|||||||
const unsigned short mPort;
|
const unsigned short mPort;
|
||||||
int mResponseMax;
|
int mResponseMax;
|
||||||
int mStatus;
|
int mStatus;
|
||||||
boost::function<void(boost::asio::streambuf& sb, const std::string& strHost)> mBuild;
|
FUNCTION_TYPE<void(boost::asio::streambuf& sb, const std::string& strHost)> mBuild;
|
||||||
boost::function<bool(const boost::system::error_code& ecResult, int iStatus, const std::string& strData)> mComplete;
|
FUNCTION_TYPE<bool(const boost::system::error_code& ecResult, int iStatus, const std::string& strData)> mComplete;
|
||||||
|
|
||||||
boost::asio::deadline_timer mDeadline;
|
boost::asio::deadline_timer mDeadline;
|
||||||
|
|
||||||
@@ -76,16 +76,16 @@ public:
|
|||||||
void httpsRequest(
|
void httpsRequest(
|
||||||
bool bSSL,
|
bool bSSL,
|
||||||
std::deque<std::string> deqSites,
|
std::deque<std::string> deqSites,
|
||||||
boost::function<void(boost::asio::streambuf& sb, const std::string& strHost)> build,
|
FUNCTION_TYPE<void(boost::asio::streambuf& sb, const std::string& strHost)> build,
|
||||||
boost::posix_time::time_duration timeout,
|
boost::posix_time::time_duration timeout,
|
||||||
boost::function<bool(const boost::system::error_code& ecResult, int iStatus, const std::string& strData)> complete);
|
FUNCTION_TYPE<bool(const boost::system::error_code& ecResult, int iStatus, const std::string& strData)> complete);
|
||||||
|
|
||||||
void httpsGet(
|
void httpsGet(
|
||||||
bool bSSL,
|
bool bSSL,
|
||||||
std::deque<std::string> deqSites,
|
std::deque<std::string> deqSites,
|
||||||
const std::string& strPath,
|
const std::string& strPath,
|
||||||
boost::posix_time::time_duration timeout,
|
boost::posix_time::time_duration timeout,
|
||||||
boost::function<bool(const boost::system::error_code& ecResult, int iStatus, const std::string& strData)> complete);
|
FUNCTION_TYPE<bool(const boost::system::error_code& ecResult, int iStatus, const std::string& strData)> complete);
|
||||||
|
|
||||||
static void httpsGet(
|
static void httpsGet(
|
||||||
bool bSSL,
|
bool bSSL,
|
||||||
@@ -95,7 +95,7 @@ public:
|
|||||||
const std::string& strPath,
|
const std::string& strPath,
|
||||||
std::size_t responseMax,
|
std::size_t responseMax,
|
||||||
boost::posix_time::time_duration timeout,
|
boost::posix_time::time_duration timeout,
|
||||||
boost::function<bool(const boost::system::error_code& ecResult, int iStatus, const std::string& strData)> complete);
|
FUNCTION_TYPE<bool(const boost::system::error_code& ecResult, int iStatus, const std::string& strData)> complete);
|
||||||
|
|
||||||
static void httpsGet(
|
static void httpsGet(
|
||||||
bool bSSL,
|
bool bSSL,
|
||||||
@@ -105,17 +105,17 @@ public:
|
|||||||
const std::string& strPath,
|
const std::string& strPath,
|
||||||
std::size_t responseMax,
|
std::size_t responseMax,
|
||||||
boost::posix_time::time_duration timeout,
|
boost::posix_time::time_duration timeout,
|
||||||
boost::function<bool(const boost::system::error_code& ecResult, int iStatus, const std::string& strData)> complete);
|
FUNCTION_TYPE<bool(const boost::system::error_code& ecResult, int iStatus, const std::string& strData)> complete);
|
||||||
|
|
||||||
static void httpsRequest(
|
static void httpsRequest(
|
||||||
bool bSSL,
|
bool bSSL,
|
||||||
boost::asio::io_service& io_service,
|
boost::asio::io_service& io_service,
|
||||||
std::string strSite,
|
std::string strSite,
|
||||||
const unsigned short port,
|
const unsigned short port,
|
||||||
boost::function<void(boost::asio::streambuf& sb, const std::string& strHost)> build,
|
FUNCTION_TYPE<void(boost::asio::streambuf& sb, const std::string& strHost)> build,
|
||||||
std::size_t responseMax,
|
std::size_t responseMax,
|
||||||
boost::posix_time::time_duration timeout,
|
boost::posix_time::time_duration timeout,
|
||||||
boost::function<bool(const boost::system::error_code& ecResult, int iStatus, const std::string& strData)> complete);
|
FUNCTION_TYPE<bool(const boost::system::error_code& ecResult, int iStatus, const std::string& strData)> complete);
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
// vim:ts=4
|
// vim:ts=4
|
||||||
|
|||||||
@@ -185,7 +185,7 @@ public:
|
|||||||
//
|
//
|
||||||
// Transaction operations
|
// Transaction operations
|
||||||
//
|
//
|
||||||
typedef boost::function<void (Transaction::pointer, TER)> stCallback; // must complete immediately
|
typedef FUNCTION_TYPE<void (Transaction::pointer, TER)> stCallback; // must complete immediately
|
||||||
void submitTransaction(Job&, SerializedTransaction::pointer, stCallback callback = stCallback());
|
void submitTransaction(Job&, SerializedTransaction::pointer, stCallback callback = stCallback());
|
||||||
Transaction::pointer submitTransactionSync(Transaction::ref tpTrans, bool bSubmit=true);
|
Transaction::pointer submitTransactionSync(Transaction::ref tpTrans, bool bSubmit=true);
|
||||||
|
|
||||||
|
|||||||
@@ -885,7 +885,7 @@ void UniqueNodeList::getValidatorsUrl(const RippleAddress& naNodePublic, section
|
|||||||
strPath,
|
strPath,
|
||||||
NODE_FILE_BYTES_MAX,
|
NODE_FILE_BYTES_MAX,
|
||||||
boost::posix_time::seconds(NODE_FETCH_SECONDS),
|
boost::posix_time::seconds(NODE_FETCH_SECONDS),
|
||||||
boost::bind(&UniqueNodeList::responseValidators, this, strValidatorsUrl, naNodePublic, secSite, strDomain, _1, _2, _3));
|
BIND_TYPE(&UniqueNodeList::responseValidators, this, strValidatorsUrl, naNodePublic, secSite, strDomain, P_1, P_2, P_3));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -1063,7 +1063,7 @@ void UniqueNodeList::fetchProcess(std::string strDomain)
|
|||||||
NODE_FILE_PATH,
|
NODE_FILE_PATH,
|
||||||
NODE_FILE_BYTES_MAX,
|
NODE_FILE_BYTES_MAX,
|
||||||
boost::posix_time::seconds(NODE_FETCH_SECONDS),
|
boost::posix_time::seconds(NODE_FETCH_SECONDS),
|
||||||
boost::bind(&UniqueNodeList::responseFetch, this, strDomain, _1, _2, _3));
|
BIND_TYPE(&UniqueNodeList::responseFetch, this, strDomain, P_1, P_2, P_3));
|
||||||
}
|
}
|
||||||
|
|
||||||
void UniqueNodeList::fetchTimerHandler(const boost::system::error_code& err)
|
void UniqueNodeList::fetchTimerHandler(const boost::system::error_code& err)
|
||||||
@@ -1610,7 +1610,7 @@ void UniqueNodeList::nodeNetwork()
|
|||||||
theConfig.VALIDATORS_URI,
|
theConfig.VALIDATORS_URI,
|
||||||
VALIDATORS_FILE_BYTES_MAX,
|
VALIDATORS_FILE_BYTES_MAX,
|
||||||
boost::posix_time::seconds(VALIDATORS_FETCH_SECONDS),
|
boost::posix_time::seconds(VALIDATORS_FETCH_SECONDS),
|
||||||
boost::bind(&UniqueNodeList::validatorsResponse, this, _1, _2, _3));
|
BIND_TYPE(&UniqueNodeList::validatorsResponse, this, P_1, P_2, P_3));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user