emlabcpp
modern opinionated embedded C++ library
rpc.h File Reference
#include "../match.h"
#include "../protocol/handler.h"
#include "../protocol/streams.h"
#include "../static_function.h"
+ Include dependency graph for rpc.h:

Go to the source code of this file.

Classes

struct  emlabcpp::rpc::void_return_type
 
struct  emlabcpp::rpc::reactor_error
 
struct  emlabcpp::rpc::reply_error
 
struct  emlabcpp::rpc::error
 
struct  emlabcpp::rpc::traits< std::tuple< Calls... > >
 
struct  emlabcpp::rpc::traits< std::tuple< Calls... > >::request_wrapper< Call >
 
struct  emlabcpp::rpc::traits< std::tuple< Calls... > >::reply_wrapper< Call >
 
class  emlabcpp::rpc::reactor< CallDefs >
 
class  emlabcpp::rpc::controller< Wrapper >
 
struct  emlabcpp::rpc::derive< ID, Method >
 
class  emlabcpp::rpc::class_wrapper< Class, Bindings >
 
struct  emlabcpp::rpc::bind< ID, Signature, CallableSize >
 
class  emlabcpp::rpc::bind_wrapper< Bindings >
 

Namespaces

 emlabcpp
 MIT License.
 
 emlabcpp::rpc
 MIT License.
 

Typedefs

template<typename Wrapper >
using emlabcpp::rpc::wrapper_traits = traits< typename Wrapper::call_defs >
 

Functions

template<typename CallDefs >
static constexpr std::size_t emlabcpp::rpc::get_call_index (auto id)
 

Class Documentation

◆ emlabcpp::rpc::void_return_type

struct emlabcpp::rpc::void_return_type

◆ emlabcpp::rpc::reactor_error

struct emlabcpp::rpc::reactor_error
+ Collaboration diagram for emlabcpp::rpc::reactor_error:
Class Members
error_record record

◆ emlabcpp::rpc::reply_error

struct emlabcpp::rpc::reply_error
Class Members
size_t expected_index
size_t index

◆ emlabcpp::rpc::error

struct emlabcpp::rpc::error
Class Members
variant< reactor_error, error_record, reply_error > er

◆ emlabcpp::rpc::traits< std::tuple< Calls... > >

struct emlabcpp::rpc::traits< std::tuple< Calls... > >

template<typename... Calls>
struct emlabcpp::rpc::traits< std::tuple< Calls... > >

Class Members
call_defs
typedef variant< reply_group, reactor_error > outter_reply_group
reply_group
typedef message< max_size > reply_message_type
typedef traits_for< outter_reply_group > reply_traits
typedef typename traits_for< outter_reply_group >::value_type reply_type
typedef typename traits_for< reply_group >::value_type reply_variant
request_group
typedef message< max_size > request_message_type
typedef traits_for< request_type > request_traits
typedef typename traits_for< request_group >::value_type request_type