Derecho  0.9
Distributed systems toolkit for RDMA
Public Member Functions | Private Member Functions | Private Attributes | List of all members
sst::multicast_group< sstType > Class Template Reference

#include <multicast.hpp>

Collaboration diagram for sst::multicast_group< sstType >:
Collaboration graph
[legend]

Public Member Functions

 multicast_group (std::shared_ptr< sstType > sst, std::vector< uint32_t > row_indices, uint32_t window_size, uint64_t max_msg_size, std::vector< int > is_sender={}, uint32_t num_received_offset=0, uint32_t slots_offset=0)
 
volatile char * get_buffer (uint64_t msg_size)
 
void send ()
 
void debug_print ()
 

Private Member Functions

void initialize ()
 

Private Attributes

long long int queued_num = -1
 
uint64_t num_sent = 0
 
long long int finished_multicasts_num = -1
 
const uint32_t my_row
 
uint32_t my_member_index
 
int32_t my_sender_index
 
std::mutex msg_send_mutex
 
std::shared_ptr< sstType > sst
 
const std::vector< uint32_t > row_indices
 
const std::vector< int > is_sender
 
const uint32_t num_received_offset
 
const uint32_t slots_offset
 
const uint32_t num_members
 
uint32_t num_senders
 
const uint32_t window_size
 
const uint64_t max_msg_size
 
std::thread timeout_thread
 

Detailed Description

template<typename sstType>
class sst::multicast_group< sstType >

Definition at line 16 of file multicast.hpp.

Constructor & Destructor Documentation

◆ multicast_group()

template<typename sstType>
sst::multicast_group< sstType >::multicast_group ( std::shared_ptr< sstType >  sst,
std::vector< uint32_t >  row_indices,
uint32_t  window_size,
uint64_t  max_msg_size,
std::vector< int >  is_sender = {},
uint32_t  num_received_offset = 0,
uint32_t  slots_offset = 0 
)
inline

Definition at line 69 of file multicast.hpp.

Member Function Documentation

◆ debug_print()

template<typename sstType>
void sst::multicast_group< sstType >::debug_print ( )
inline

Definition at line 152 of file multicast.hpp.

◆ get_buffer()

template<typename sstType>
volatile char* sst::multicast_group< sstType >::get_buffer ( uint64_t  msg_size)
inline

Definition at line 114 of file multicast.hpp.

◆ initialize()

template<typename sstType>
void sst::multicast_group< sstType >::initialize ( )
inlineprivate

Definition at line 55 of file multicast.hpp.

◆ send()

template<typename sstType>
void sst::multicast_group< sstType >::send ( )
inline

Definition at line 140 of file multicast.hpp.

Member Data Documentation

◆ finished_multicasts_num

template<typename sstType>
long long int sst::multicast_group< sstType >::finished_multicasts_num = -1
private

Definition at line 22 of file multicast.hpp.

◆ is_sender

template<typename sstType>
const std::vector<int> sst::multicast_group< sstType >::is_sender
private

Definition at line 37 of file multicast.hpp.

◆ max_msg_size

template<typename sstType>
const uint64_t sst::multicast_group< sstType >::max_msg_size
private

Definition at line 51 of file multicast.hpp.

◆ msg_send_mutex

template<typename sstType>
std::mutex sst::multicast_group< sstType >::msg_send_mutex
private

Definition at line 30 of file multicast.hpp.

◆ my_member_index

template<typename sstType>
uint32_t sst::multicast_group< sstType >::my_member_index
private

Definition at line 26 of file multicast.hpp.

◆ my_row

template<typename sstType>
const uint32_t sst::multicast_group< sstType >::my_row
private

Definition at line 24 of file multicast.hpp.

◆ my_sender_index

template<typename sstType>
int32_t sst::multicast_group< sstType >::my_sender_index
private

Definition at line 28 of file multicast.hpp.

◆ num_members

template<typename sstType>
const uint32_t sst::multicast_group< sstType >::num_members
private

Definition at line 45 of file multicast.hpp.

◆ num_received_offset

template<typename sstType>
const uint32_t sst::multicast_group< sstType >::num_received_offset
private

Definition at line 41 of file multicast.hpp.

◆ num_senders

template<typename sstType>
uint32_t sst::multicast_group< sstType >::num_senders
private

Definition at line 47 of file multicast.hpp.

◆ num_sent

template<typename sstType>
uint64_t sst::multicast_group< sstType >::num_sent = 0
private

Definition at line 20 of file multicast.hpp.

◆ queued_num

template<typename sstType>
long long int sst::multicast_group< sstType >::queued_num = -1
private

Definition at line 18 of file multicast.hpp.

◆ row_indices

template<typename sstType>
const std::vector<uint32_t> sst::multicast_group< sstType >::row_indices
private

Definition at line 36 of file multicast.hpp.

◆ slots_offset

template<typename sstType>
const uint32_t sst::multicast_group< sstType >::slots_offset
private

Definition at line 42 of file multicast.hpp.

◆ sst

template<typename sstType>
std::shared_ptr<sstType> sst::multicast_group< sstType >::sst
private

Definition at line 33 of file multicast.hpp.

◆ timeout_thread

template<typename sstType>
std::thread sst::multicast_group< sstType >::timeout_thread
private

Definition at line 53 of file multicast.hpp.

◆ window_size

template<typename sstType>
const uint32_t sst::multicast_group< sstType >::window_size
private

Definition at line 49 of file multicast.hpp.


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