5 #ifndef PACKIO_NL_JSON_RPC_NL_JSON_RPC_H
6 #define PACKIO_NL_JSON_RPC_NL_JSON_RPC_H
12 #include "../client.h"
13 #include "../server.h"
20 namespace nl_json_rpc {
26 template <
template <
class...>
class Map = default_map,
typename Lockable = default_mutex>
30 template <
typename Socket,
template <
class...>
class Map = default_map>
34 template <
typename Socket,
template <
class...>
class Map = default_map>
37 return std::make_shared<client<Socket, Map>>(std::forward<Socket>(socket));
41 template <
typename Acceptor,
typename Dispatcher = dispatcher<>>
45 template <
typename Acceptor,
typename Dispatcher = dispatcher<>>
48 return std::make_shared<server<Acceptor, Dispatcher>>(
49 std::forward<Acceptor>(acceptor));
The client class.
Definition: client.h:34
The server class.
Definition: server.h:28
completion_handler< rpc > completion_handler
The completion_handler for JSON-RPC.
Definition: nl_json_rpc.h:23
dispatcher< rpc, Map, Lockable > dispatcher
The dispatcher for JSON-RPC.
Definition: nl_json_rpc.h:27
auto make_server(Acceptor &&acceptor)
The make_server function for JSON-RPC.
Definition: nl_json_rpc.h:46
auto make_client(Socket &&socket)
The make_client function for JSON-RPC.
Definition: nl_json_rpc.h:35
The packio namespace.
Definition: arg.h:14