Derecho  0.9
Distributed systems toolkit for RDMA
Classes | Namespaces | Typedefs | Enumerations
view_manager.hpp File Reference
#include <map>
#include <memory>
#include <mutex>
#include <shared_mutex>
#include <string>
#include <thread>
#include <vector>
#include "../subgroup_info.hpp"
#include "../view.hpp"
#include "derecho_internal.hpp"
#include "locked_reference.hpp"
#include "multicast_group.hpp"
#include "restart_state.hpp"
#include <derecho/conf/conf.hpp>
#include <derecho/mutils-serialization/SerializationSupport.hpp>
#include <spdlog/spdlog.h>
Include dependency graph for view_manager.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  derecho::Replicated< T >
 
class  derecho::ExternalCaller< T >
 
class  derecho::LockedQueue< T >
 A little helper class that implements a threadsafe queue by requiring all clients to lock a mutex before accessing the queue. More...
 
struct  derecho::LockedQueue< T >::LockedListAccess
 
struct  derecho::JoinResponse
 Bundles together a JoinResponseCode and the leader's node ID, which it also needs to send to the new node that wants to join. More...
 
class  derecho::ViewManager
 

Namespaces

 derecho
 
 derecho::rpc
 

Typedefs

template<typename T >
using derecho::SharedLockedReference = LockedReference< std::shared_lock< std::shared_timed_mutex >, T >
 
using derecho::view_upcall_t = std::function< void(const View &)>
 
using derecho::vector_int64_2d = std::vector< std::vector< int64_t > >
 Type of a 2-dimensional vector used to store potential node IDs, or -1. More...
 

Enumerations

enum  derecho::JoinResponseCode { derecho::JoinResponseCode::OK, derecho::JoinResponseCode::TOTAL_RESTART, derecho::JoinResponseCode::ID_IN_USE, derecho::JoinResponseCode::LEADER_REDIRECT }
 A set of status codes the group leader can respond with upon initially receiving a connection request from a new node. More...
 

Class Documentation

◆ derecho::JoinResponse

struct derecho::JoinResponse

Bundles together a JoinResponseCode and the leader's node ID, which it also needs to send to the new node that wants to join.

Definition at line 80 of file view_manager.hpp.

Class Members
JoinResponseCode code
node_id_t leader_id