|
xdrpp
RFC4506 XDR compiler and message library
|
Classes for implementing RPC servers. More...
#include <iostream>#include <xdrpp/marshal.h>#include <xdrpp/printer.h>#include <xdrpp/msgsock.h>#include <xdrpp/rpcbind.h>#include <xdrpp/rpc_msg.hh>#include <map>

Go to the source code of this file.
Classes | |
| struct | xdr::rpc_success_hdr |
| Structure that gets marshalled as an RPC success header. More... | |
| struct | xdr::xdr_traits< rpc_success_hdr > |
| struct | xdr::transparent_ptr< T > |
| A pointer, but that gets marshalled as the underlying object and can convert to the underlying type. More... | |
| struct | xdr::xdr_traits< transparent_ptr< T > > |
| struct | xdr::session_allocator< S > |
| Trivial session allocator that just calls new and delete. More... | |
| struct | xdr::session_allocator< void > |
| struct | xdr::service_base |
| class | xdr::rpc_server_base |
| class | xdr::rpc_tcp_listener_common |
Listens for connections on a TCP socket (optionally registering the socket with rpcbind), and then serves one or more program/version interfaces to accepted connections. More... | |
| class | xdr::generic_rpc_tcp_listener< ServiceType, Session, SessionAllocator > |
Namespaces | |
| xdr | |
| Most of the xdrpp library is encapsulated in the xdr namespace. | |
Typedefs | |
| template<typename T > | |
| using | xdr::wrap_transparent_ptr = typename detail::wrap_transparent_ptr_helper< T >::type |
| Wrap xdr::transparent_ptr around each type in a tuple to generate a new tuple type. More... | |
Functions | |
| msg_ptr | xdr::rpc_accepted_error_msg (uint32_t xid, accept_stat stat) |
| msg_ptr | xdr::rpc_prog_mismatch_msg (uint32_t xid, uint32_t low, uint32_t high) |
| msg_ptr | xdr::rpc_auth_error_msg (uint32_t xid, auth_stat stat) |
| msg_ptr | xdr::rpc_rpc_mismatch_msg (uint32_t xid) |
| template<typename Archive , typename T > | |
| void | xdr::archive (Archive &ar, const transparent_ptr< T > &t, const char *name=nullptr) |
| template<typename P , typename C , typename S , typename T , typename... Rest> | |
| auto | xdr::dispatch_with_session (C &&c, S *s, T &&t, Rest &&...rest) -> decltype(detail::dispatch_session_helper< P, C, T >::dispatch(c, s, std::forward< T >(t), std::forward< Rest >(rest)...)) |
Call P::dispatch with a session pointer (unless the session type S is void, in which case the argument is omitted) and with a tuple that should be unpacked into multiple arguments. More... | |
Classes for implementing RPC servers.
We use the following terminology: The term service denotes a class that responds to RPCs for a particular program/version combination. A server is a collection of services. A listener attaches incoming connections from clients to a particular server. And a session is state (if needed) associated with a particular client connection.
Definition in file server.h.
1.8.13