adding support for 10 arg rpc calls
This commit is contained in:
parent
27ac054883
commit
e6b43a6149
2 changed files with 117 additions and 1 deletions
|
|
@ -117,6 +117,29 @@ namespace fc { namespace rpc {
|
|||
const variant& a7,
|
||||
const variant& a8
|
||||
);
|
||||
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,
|
||||
const variant& a7,
|
||||
const variant& a8,
|
||||
const variant& a9
|
||||
);
|
||||
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,
|
||||
const variant& a7,
|
||||
const variant& a8,
|
||||
const variant& a9,
|
||||
const variant& a10
|
||||
);
|
||||
|
||||
template<typename Result>
|
||||
Result call( const fc::string& method,
|
||||
|
|
|
|||
|
|
@ -522,7 +522,11 @@ namespace fc { namespace rpc {
|
|||
const variant& a1,
|
||||
const variant& a2,
|
||||
const variant& a3,
|
||||
const variant& a4, const variant& a5, const variant& a6, const variant& a7, const variant& a8 )
|
||||
const variant& a4,
|
||||
const variant& a5,
|
||||
const variant& a6,
|
||||
const variant& a7,
|
||||
const variant& a8 )
|
||||
{
|
||||
auto id = my->_next_id++;
|
||||
my->_awaiting[id] = fc::promise<variant>::ptr( new fc::promise<variant>("json_connection::async_call") );
|
||||
|
|
@ -554,6 +558,95 @@ namespace fc { namespace rpc {
|
|||
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,
|
||||
const variant& a7,
|
||||
const variant& a8,
|
||||
const variant& a9 )
|
||||
{
|
||||
auto id = my->_next_id++;
|
||||
my->_awaiting[id] = fc::promise<variant>::ptr( new fc::promise<variant>("json_connection::async_call") );
|
||||
|
||||
{
|
||||
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 << ",";
|
||||
fc::json::to_stream( *my->_out, a7 );
|
||||
*my->_out << ",";
|
||||
fc::json::to_stream( *my->_out, a8 );
|
||||
*my->_out << ",";
|
||||
fc::json::to_stream( *my->_out, a9 );
|
||||
*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,
|
||||
const variant& a7,
|
||||
const variant& a8,
|
||||
const variant& a9,
|
||||
const variant& a10 )
|
||||
{
|
||||
auto id = my->_next_id++;
|
||||
my->_awaiting[id] = fc::promise<variant>::ptr( new fc::promise<variant>("json_connection::async_call") );
|
||||
|
||||
{
|
||||
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 << ",";
|
||||
fc::json::to_stream( *my->_out, a7 );
|
||||
*my->_out << ",";
|
||||
fc::json::to_stream( *my->_out, a8 );
|
||||
*my->_out << ",";
|
||||
fc::json::to_stream( *my->_out, a9 );
|
||||
*my->_out << ",";
|
||||
fc::json::to_stream( *my->_out, a10 );
|
||||
*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 )
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in a new issue