xdrpp
RFC4506 XDR compiler and message library
|
A wrapper around xdr::msg_sock that separates calls from replies. More...
#include <msgsock.h>
Public Types | |
using | rcb_t = msg_sock::rcb_t |
Public Member Functions | |
template<typename T > | |
rpc_sock (pollset &ps, sock_t s, T &&t, size_t maxmsglen=msg_sock::default_maxmsglen) | |
rpc_sock (pollset &ps, sock_t s) | |
template<typename T > | |
void | set_servcb (T &&scb) |
uint32_t | get_xid () |
void | send_call (msg_ptr &b, rcb_t cb) |
void | send_call (msg_ptr &&b, rcb_t cb) |
void | send_reply (msg_ptr &&b) |
Public Attributes | |
std::unique_ptr< msg_sock > | ms_ |
rcb_t | servcb_ |
A wrapper around xdr::msg_sock that separates calls from replies.
Incoming calls are forwarded to whatever callback is registered with rpc_sock::set_servcb, while replies are matched up to callbacks set with rpc_sock::send_call. Calls sent via rpc_sock::send_call
should already have a unique xid generated by rpc_sock::get_xid()
.