Derecho  0.9
Distributed systems toolkit for RDMA
Classes | Public Types | Public Member Functions | Public Attributes | Private Attributes | List of all members
derecho::rpc::QueryResults< void > Class Template Reference

Specialization of QueryResults for void functions, which do not generate replies. More...

#include <rpc_utils.hpp>

Classes

class  ReplyMap
 

Public Types

using map_fut = std::future< std::unique_ptr< std::set< node_id_t > >>
 
using map = std::set< node_id_t >
 
using type = void
 

Public Member Functions

 QueryResults (map_fut pm)
 
 QueryResults (QueryResults &&o)
 
 QueryResults (const QueryResults &)=delete
 
template<typename Time >
ReplyMap * wait (Time t)
 Wait the specified duration; if a ReplyMap is available after that duration, return it. More...
 
ReplyMap & get ()
 Block until the ReplyMap is fulfilled, then return the map by reference. More...
 

Public Attributes

map_fut pending_rmap
 

Private Attributes

ReplyMap replies {*this}
 

Detailed Description

template<>
class derecho::rpc::QueryResults< void >

Specialization of QueryResults for void functions, which do not generate replies.

Here the "reply map" is actually a set, and simply records the set of nodes to which the RPC was sent. The internal ReplyMap is fulfilled when the set of nodes that received the RPC is known, which is when the RPC message was delivered in the current View.

Definition at line 253 of file rpc_utils.hpp.

Member Typedef Documentation

◆ map

using derecho::rpc::QueryResults< void >::map = std::set<node_id_t>

Definition at line 256 of file rpc_utils.hpp.

◆ map_fut

using derecho::rpc::QueryResults< void >::map_fut = std::future<std::unique_ptr<std::set<node_id_t> >>

Definition at line 255 of file rpc_utils.hpp.

◆ type

using derecho::rpc::QueryResults< void >::type = void

Definition at line 257 of file rpc_utils.hpp.

Constructor & Destructor Documentation

◆ QueryResults() [1/3]

Definition at line 292 of file rpc_utils.hpp.

◆ QueryResults() [2/3]

derecho::rpc::QueryResults< void >::QueryResults ( QueryResults< void > &&  o)
inline

Definition at line 293 of file rpc_utils.hpp.

◆ QueryResults() [3/3]

derecho::rpc::QueryResults< void >::QueryResults ( const QueryResults< void > &  )
delete

Member Function Documentation

◆ get()

ReplyMap& derecho::rpc::QueryResults< void >::get ( )
inline

Block until the ReplyMap is fulfilled, then return the map by reference.

The ReplyMap is only valid as long as this QueryResults remains in scope, and cannot be copied.

Definition at line 319 of file rpc_utils.hpp.

◆ wait()

template<typename Time >
ReplyMap* derecho::rpc::QueryResults< void >::wait ( Time  t)
inline

Wait the specified duration; if a ReplyMap is available after that duration, return it.

Otherwise return nullptr.

Definition at line 303 of file rpc_utils.hpp.

Member Data Documentation

◆ pending_rmap

map_fut derecho::rpc::QueryResults< void >::pending_rmap

Definition at line 286 of file rpc_utils.hpp.

◆ replies

ReplyMap derecho::rpc::QueryResults< void >::replies {*this}
private

Definition at line 289 of file rpc_utils.hpp.


The documentation for this class was generated from the following file: