Add 5 and 6 argument versions of json rpc call functions
This commit is contained in:
parent
07f131336f
commit
7dde0a705d
2 changed files with 96 additions and 0 deletions
|
|
@ -82,6 +82,21 @@ namespace fc { namespace rpc {
|
|||
const variant& a3,
|
||||
const variant& a4 );
|
||||
|
||||
future<variant> async_call( const fc::string& method,
|
||||
const variant& a1,
|
||||
const variant& a2,
|
||||
const variant& a3,
|
||||
const variant& a4,
|
||||
const variant& a5 );
|
||||
|
||||
future<variant> async_call( const fc::string& method,
|
||||
const variant& a1,
|
||||
const variant& a2,
|
||||
const variant& a3,
|
||||
const variant& a4,
|
||||
const variant& a5,
|
||||
const variant& a6 );
|
||||
|
||||
template<typename Result>
|
||||
Result call( const fc::string& method,
|
||||
const variant& a1,
|
||||
|
|
@ -103,6 +118,31 @@ namespace fc { namespace rpc {
|
|||
return async_call( method, a1, a2, a3, a4).wait(timeout).as<Result>();
|
||||
}
|
||||
|
||||
template<typename Result>
|
||||
Result call( const fc::string& method,
|
||||
const variant& a1,
|
||||
const variant& a2,
|
||||
const variant& a3,
|
||||
const variant& a4,
|
||||
const variant& a5,
|
||||
microseconds timeout = microseconds::maximum())
|
||||
{
|
||||
return async_call( method, a1, a2, a3, a4, a5).wait(timeout).as<Result>();
|
||||
}
|
||||
|
||||
template<typename Result>
|
||||
Result call( const fc::string& method,
|
||||
const variant& a1,
|
||||
const variant& a2,
|
||||
const variant& a3,
|
||||
const variant& a4,
|
||||
const variant& a5,
|
||||
const variant& a6,
|
||||
microseconds timeout = microseconds::maximum())
|
||||
{
|
||||
return async_call( method, a1, a2, a3, a4, a5, a6).wait(timeout).as<Result>();
|
||||
}
|
||||
|
||||
template<typename Result>
|
||||
Result call( const fc::string& method,
|
||||
const variant& a1,
|
||||
|
|
|
|||
|
|
@ -433,6 +433,62 @@ namespace fc { namespace rpc {
|
|||
return my->_awaiting[id];
|
||||
}
|
||||
|
||||
future<variant> json_connection::async_call( const fc::string& method, const variant& a1, const variant& a2, const variant& a3, const variant& a4, const variant& a5 )
|
||||
{
|
||||
auto id = my->_next_id++;
|
||||
my->_awaiting[id] = fc::promise<variant>::ptr( new fc::promise<variant>() );
|
||||
|
||||
{
|
||||
fc::scoped_lock<fc::mutex> lock(my->_write_mutex);
|
||||
*my->_out << "{\"id\":";
|
||||
*my->_out << id;
|
||||
*my->_out << ",\"method\":";
|
||||
json::to_stream( *my->_out, method );
|
||||
*my->_out << ",\"params\":[";
|
||||
fc::json::to_stream( *my->_out, a1 );
|
||||
*my->_out << ",";
|
||||
fc::json::to_stream( *my->_out, a2 );
|
||||
*my->_out << ",";
|
||||
fc::json::to_stream( *my->_out, a3 );
|
||||
*my->_out << ",";
|
||||
fc::json::to_stream( *my->_out, a4 );
|
||||
*my->_out << ",";
|
||||
fc::json::to_stream( *my->_out, a5 );
|
||||
*my->_out << "]}\n";
|
||||
}
|
||||
my->_out->flush();
|
||||
return my->_awaiting[id];
|
||||
}
|
||||
|
||||
future<variant> json_connection::async_call( const fc::string& method, const variant& a1, const variant& a2, const variant& a3, const variant& a4, const variant& a5, const variant& a6 )
|
||||
{
|
||||
auto id = my->_next_id++;
|
||||
my->_awaiting[id] = fc::promise<variant>::ptr( new fc::promise<variant>() );
|
||||
|
||||
{
|
||||
fc::scoped_lock<fc::mutex> lock(my->_write_mutex);
|
||||
*my->_out << "{\"id\":";
|
||||
*my->_out << id;
|
||||
*my->_out << ",\"method\":";
|
||||
json::to_stream( *my->_out, method );
|
||||
*my->_out << ",\"params\":[";
|
||||
fc::json::to_stream( *my->_out, a1 );
|
||||
*my->_out << ",";
|
||||
fc::json::to_stream( *my->_out, a2 );
|
||||
*my->_out << ",";
|
||||
fc::json::to_stream( *my->_out, a3 );
|
||||
*my->_out << ",";
|
||||
fc::json::to_stream( *my->_out, a4 );
|
||||
*my->_out << ",";
|
||||
fc::json::to_stream( *my->_out, a5 );
|
||||
*my->_out << ",";
|
||||
fc::json::to_stream( *my->_out, a6 );
|
||||
*my->_out << "]}\n";
|
||||
}
|
||||
my->_out->flush();
|
||||
return my->_awaiting[id];
|
||||
}
|
||||
|
||||
future<variant> json_connection::async_call( const fc::string& method, mutable_variant_object named_args )
|
||||
{
|
||||
return async_call( method, variant_object( fc::move(named_args) ) );
|
||||
|
|
|
|||
Loading…
Reference in a new issue