Derecho  0.9
Distributed systems toolkit for RDMA
Classes | Namespaces | Typedefs | Enumerations | Functions
rdmc.hpp File Reference
#include "detail/lf_helper.hpp"
#include <array>
#include <optional>
#include <functional>
#include <map>
#include <memory>
#include <mutex>
#include <string>
#include <vector>
Include dependency graph for rdmc.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  rdmc::exception
 
class  rdmc::connection_broken
 
class  rdmc::invalid_args
 
class  rdmc::nonroot_sender
 
class  rdmc::group_busy
 
struct  rdmc::receive_destination
 
class  rdmc::barrier_group
 

Namespaces

 rdmc
 

Typedefs

typedef std::function< receive_destination(size_t size)> rdmc::incoming_message_callback_t
 
typedef std::function< void(char *buffer, size_t size)> rdmc::completion_callback_t
 
typedef std::function< void(std::optional< uint32_t > suspected_victim)> rdmc::failure_callback_t
 

Enumerations

enum  rdmc::send_algorithm { rdmc::BINOMIAL_SEND = 1, rdmc::CHAIN_SEND = 2, rdmc::SEQUENTIAL_SEND = 3, rdmc::TREE_SEND = 4 }
 

Functions

bool rdmc::initialize (const std::map< uint32_t, std::pair< ip_addr_t, uint16_t >> &addresses, uint32_t node_rank) __attribute__((warn_unused_result))
 
void rdmc::add_address (uint32_t index, const std::pair< ip_addr_t, uint16_t > &address)
 
void rdmc::shutdown ()
 
bool rdmc::create_group (uint16_t group_number, std::vector< uint32_t > members, size_t block_size, send_algorithm algorithm, incoming_message_callback_t incoming_receive, completion_callback_t send_callback, failure_callback_t failure_callback) __attribute__((warn_unused_result))
 Creates a new RDMC group. More...
 
void rdmc::destroy_group (uint16_t group_number)
 
bool rdmc::send (uint16_t group_number, std::shared_ptr< rdma::memory_region > mr, size_t offset, size_t length) __attribute__((warn_unused_result))
 

Class Documentation

◆ rdmc::receive_destination

struct rdmc::receive_destination

Definition at line 35 of file rdmc.hpp.

Class Members
shared_ptr< memory_region > mr
size_t offset