Derecho  0.9
Distributed systems toolkit for RDMA
Namespaces | Typedefs
derecho_internal.hpp File Reference
#include <cstdint>
#include <functional>
#include <map>
#include <memory>
#include <optional>
#include <string>
#include <sys/types.h>
#include <utility>
#include "../derecho_type_definitions.hpp"
#include <derecho/persistent/HLC.hpp>
#include <derecho/persistent/PersistentTypenames.hpp>
Include dependency graph for derecho_internal.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 persistent
 This file include all common types internal to derecho and not necessarily being known by a client program.
 
 derecho
 

Typedefs

using derecho::subgroup_id_t = uint32_t
 Type alias for the internal Subgroup IDs generated by ViewManager. More...
 
using derecho::message_id_t = int32_t
 Type alias for a message's unique "sequence number" or index. More...
 
using derecho::subgroup_type_id_t = uint32_t
 Type of the numeric ID used to refer to subgroup types within a Group; this is currently computed as the index of the subgroup type within Group's template parameters. More...
 
using derecho::message_callback_t = std::function< void(subgroup_id_t, node_id_t, message_id_t, std::optional< std::pair< char *, long long int > >, persistent::version_t)>
 Alias for the type of std::function that is used for message delivery event callbacks. More...
 
using derecho::persistence_callback_t = std::function< void(subgroup_id_t, persistent::version_t)>
 
using derecho::rpc_handler_t = std::function< void(subgroup_id_t, node_id_t, char *, uint32_t)>
 
template<typename T >
using derecho::Factory = std::function< std::unique_ptr< T >(persistent::PersistentRegistry *)>
 The type of factory function the user must provide to the Group constructor, to construct each Replicated Object that is assigned to a subgroup. More...
 
using derecho::persistence_manager_make_version_func_t = std::function< void(const subgroup_id_t &, const persistent::version_t &, const HLC &)>
 
using derecho::persistence_manager_post_persist_func_t = std::function< void(const subgroup_id_t &, const persistent::version_t &)>
 
using derecho::persistence_manager_callbacks_t = std::tuple< persistence_manager_make_version_func_t, persistence_manager_post_persist_func_t >
 
using derecho::subgroup_post_next_version_func_t = std::function< void(const subgroup_id_t &, const persistent::version_t &, const uint64_t &)>