Derecho  0.9
Distributed systems toolkit for RDMA
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
group Class Referenceabstract

#include <group_send.hpp>

Inheritance diagram for group:
Inheritance graph
[legend]
Collaboration diagram for group:
Collaboration graph
[legend]

Public Member Functions

virtual ~group ()
 
virtual void receive_block (uint32_t send_imm, size_t size)=0
 
virtual void receive_ready_for_block (uint32_t step, uint32_t sender)=0
 
virtual void complete_block_send ()=0
 
virtual void send_message (std::shared_ptr< rdma::memory_region > message_mr, size_t offset, size_t length)=0
 

Protected Member Functions

 group (uint16_t group_number, size_t block_size, vector< uint32_t > members, uint32_t member_index, incoming_message_callback_t upcall, completion_callback_t callback, unique_ptr< schedule > transfer_schedule)
 

Protected Attributes

const vector< uint32_t > members
 
const uint16_t group_number
 
const size_t block_size
 
const uint32_t num_members
 
const uint32_t member_index
 
const unique_ptr< scheduletransfer_schedule
 
std::mutex monitor
 
std::shared_ptr< rdma::memory_regionmr
 
size_t mr_offset
 
size_t message_size
 
size_t num_blocks
 
completion_callback_t completion_callback
 
incoming_message_callback_t incoming_message_upcall
 

Detailed Description

Definition at line 27 of file group_send.hpp.

Constructor & Destructor Documentation

◆ group()

group::group ( uint16_t  group_number,
size_t  block_size,
vector< uint32_t >  members,
uint32_t  member_index,
incoming_message_callback_t  upcall,
completion_callback_t  callback,
unique_ptr< schedule transfer_schedule 
)
protected

Definition at line 25 of file group_send.cpp.

◆ ~group()

group::~group ( )
virtual

Definition at line 38 of file group_send.cpp.

Member Function Documentation

◆ complete_block_send()

virtual void group::complete_block_send ( )
pure virtual

Implemented in polling_group.

◆ receive_block()

virtual void group::receive_block ( uint32_t  send_imm,
size_t  size 
)
pure virtual

Implemented in polling_group.

◆ receive_ready_for_block()

virtual void group::receive_ready_for_block ( uint32_t  step,
uint32_t  sender 
)
pure virtual

Implemented in polling_group.

◆ send_message()

virtual void group::send_message ( std::shared_ptr< rdma::memory_region message_mr,
size_t  offset,
size_t  length 
)
pure virtual

Implemented in polling_group.

Member Data Documentation

◆ block_size

const size_t group::block_size
protected

Definition at line 31 of file group_send.hpp.

◆ completion_callback

completion_callback_t group::completion_callback
protected

Definition at line 44 of file group_send.hpp.

◆ group_number

const uint16_t group::group_number
protected

Definition at line 30 of file group_send.hpp.

◆ incoming_message_upcall

incoming_message_callback_t group::incoming_message_upcall
protected

Definition at line 45 of file group_send.hpp.

◆ member_index

const uint32_t group::member_index
protected

Definition at line 33 of file group_send.hpp.

◆ members

const vector<uint32_t> group::members
protected

Definition at line 29 of file group_send.hpp.

◆ message_size

size_t group::message_size
protected

Definition at line 41 of file group_send.hpp.

◆ monitor

std::mutex group::monitor
protected

Definition at line 37 of file group_send.hpp.

◆ mr

std::shared_ptr<rdma::memory_region> group::mr
protected

Definition at line 39 of file group_send.hpp.

◆ mr_offset

size_t group::mr_offset
protected

Definition at line 40 of file group_send.hpp.

◆ num_blocks

size_t group::num_blocks
protected

Definition at line 42 of file group_send.hpp.

◆ num_members

const uint32_t group::num_members
protected

Definition at line 32 of file group_send.hpp.

◆ transfer_schedule

const unique_ptr<schedule> group::transfer_schedule
protected

Definition at line 35 of file group_send.hpp.


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