wamp::AsioService localIosvc;
std::shared_ptr<wamp::Connector> tcpJson = wamp::connector<wamp::Json>(localIosvc, wamp::TcpHost("127.0.0.1", 11220));
wamp::CoroSession<>::Ptr localSession = wamp::CoroSession<>::create(localIosvc, {tcpJson});
try
{
int returnValue;
boost::asio::spawn(localIosvc, [&](boost::asio::yield_context yield)
{
size_t index = localSession->connect(yield);
wamp::SessionInfo info = localSession->join(wamp::Realm("127.0.0.1"), yield);
wamp::Result result = localSession->call(wamp::Rpc("Set_value_to_this_integer").withArgs(42), yield);
result.convertTo(returnValue);
localSession->leave(wamp::Reason(), yield);
localSession->disconnect();
});
localIosvc.run();
return returnValue;
}
catch (const wamp::error::Failure& e)
{
reportError(wamp_server_error, "setIntegerValue", "Error from wamp-server: " + std::string(e.what() ) );
return wamp_server_error;
}