#include <rpc_manager.hpp>
Public Member Functions | |
ExternalCaller (uint32_t type_id, node_id_t nid, subgroup_id_t subgroup_id, rpc::RPCManager &group_rpc_manager) | |
ExternalCaller (ExternalCaller &&)=default | |
ExternalCaller (const ExternalCaller &)=delete | |
template<rpc::FunctionTag tag, typename... Args> | |
auto | p2p_send (node_id_t dest_node, Args &&... args) |
Sends a peer-to-peer message to a single member of the subgroup that this ExternalCaller<T> connects to, invoking the RPC function identified by the FunctionTag template parameter. More... | |
bool | is_valid () const |
Private Attributes | |
const node_id_t | node_id |
The ID of this node. More... | |
subgroup_id_t | subgroup_id |
The internally-generated subgroup ID of the subgroup that this ExternalCaller will contact. More... | |
rpc::RPCManager & | group_rpc_manager |
Reference to the RPCManager for the Group this ExternalCaller is in. More... | |
std::unique_ptr< rpc::RemoteInvokerFor< T > > | wrapped_this |
The actual implementation of ExternalCaller, which has lots of ugly template parameters. More... | |
Definition at line 31 of file rpc_manager.hpp.
derecho::ExternalCaller< T >::ExternalCaller | ( | uint32_t | type_id, |
node_id_t | nid, | ||
subgroup_id_t | subgroup_id, | ||
rpc::RPCManager & | group_rpc_manager | ||
) |
Definition at line 205 of file replicated_impl.hpp.
|
default |
|
delete |
|
inline |
Definition at line 348 of file replicated.hpp.
auto derecho::ExternalCaller< T >::p2p_send | ( | node_id_t | dest_node, |
Args &&... | args | ||
) |
Sends a peer-to-peer message to a single member of the subgroup that this ExternalCaller<T> connects to, invoking the RPC function identified by the FunctionTag template parameter.
dest_node | The ID of the node that the P2P message should be sent to |
args | The arguments to the RPC function being invoked |
Definition at line 217 of file replicated_impl.hpp.
|
private |
Reference to the RPCManager for the Group this ExternalCaller is in.
Definition at line 326 of file replicated.hpp.
|
private |
The ID of this node.
Definition at line 322 of file replicated.hpp.
|
private |
The internally-generated subgroup ID of the subgroup that this ExternalCaller will contact.
Definition at line 324 of file replicated.hpp.
|
private |
The actual implementation of ExternalCaller, which has lots of ugly template parameters.
Definition at line 328 of file replicated.hpp.