Chi-Tech
lbs::CBC_ASynchronousCommunicator Class Reference

#include <CBC_AsyncComm.h>

Inheritance diagram for lbs::CBC_ASynchronousCommunicator:
chi_mesh::sweep_management::AsynchronousCommunicator

Data Structures

struct  BufferItem
 

Public Types

typedef std::tuple< int, uint64_t, unsigned int > MessageKey
 

Public Member Functions

 CBC_ASynchronousCommunicator (size_t angle_set_id, chi_mesh::sweep_management::FLUDS &fluds, const chi::ChiMPICommunicatorSet &comm_set)
 
std::vector< double > & InitGetDownwindMessageData (int location_id, uint64_t cell_global_id, unsigned int face_id, size_t angle_set_id, size_t data_size) override
 
bool SendData ()
 
std::vector< uint64_t > ReceiveData ()
 
void Reset ()
 
- Public Member Functions inherited from chi_mesh::sweep_management::AsynchronousCommunicator
 AsynchronousCommunicator (FLUDS &fluds, const chi::ChiMPICommunicatorSet &comm_set)
 
virtual ~AsynchronousCommunicator ()=default
 
virtual std::vector< double > & InitGetDownwindMessageData (int location_id, uint64_t cell_global_id, unsigned int face_id, size_t angle_set_id, size_t data_size)
 

Protected Attributes

const size_t angle_set_id_
 
CBC_FLUDScbc_fluds_
 
std::map< MessageKey, std::vector< double > > outgoing_message_queue_
 
std::vector< BufferItemsend_buffer_
 
- Protected Attributes inherited from chi_mesh::sweep_management::AsynchronousCommunicator
FLUDSfluds_
 
const chi::ChiMPICommunicatorSetcomm_set_
 

Detailed Description

Definition at line 29 of file CBC_AsyncComm.h.

Member Typedef Documentation

◆ MessageKey

typedef std::tuple<int, uint64_t, unsigned int> lbs::CBC_ASynchronousCommunicator::MessageKey

Definition at line 41 of file CBC_AsyncComm.h.

Constructor & Destructor Documentation

◆ CBC_ASynchronousCommunicator()

lbs::CBC_ASynchronousCommunicator::CBC_ASynchronousCommunicator ( size_t  angle_set_id,
chi_mesh::sweep_management::FLUDS fluds,
const chi::ChiMPICommunicatorSet comm_set 
)
explicit

Definition at line 18 of file CBC_AsyncComm.cc.

Member Function Documentation

◆ InitGetDownwindMessageData()

std::vector< double > & lbs::CBC_ASynchronousCommunicator::InitGetDownwindMessageData ( int  location_id,
uint64_t  cell_global_id,
unsigned int  face_id,
size_t  angle_set_id,
size_t  data_size 
)
overridevirtual

Obtains a data vector holding a spot into which outgoing data can be written.

Reimplemented from chi_mesh::sweep_management::AsynchronousCommunicator.

Definition at line 28 of file CBC_AsyncComm.cc.

◆ ReceiveData()

std::vector< uint64_t > lbs::CBC_ASynchronousCommunicator::ReceiveData ( )

Definition at line 113 of file CBC_AsyncComm.cc.

◆ Reset()

void lbs::CBC_ASynchronousCommunicator::Reset ( )
inline

Definition at line 52 of file CBC_AsyncComm.h.

◆ SendData()

bool lbs::CBC_ASynchronousCommunicator::SendData ( )

Definition at line 44 of file CBC_AsyncComm.cc.

Field Documentation

◆ angle_set_id_

const size_t lbs::CBC_ASynchronousCommunicator::angle_set_id_
protected

Definition at line 59 of file CBC_AsyncComm.h.

◆ cbc_fluds_

CBC_FLUDS& lbs::CBC_ASynchronousCommunicator::cbc_fluds_
protected

Definition at line 60 of file CBC_AsyncComm.h.

◆ outgoing_message_queue_

std::map<MessageKey, std::vector<double> > lbs::CBC_ASynchronousCommunicator::outgoing_message_queue_
protected

Definition at line 61 of file CBC_AsyncComm.h.

◆ send_buffer_

std::vector<BufferItem> lbs::CBC_ASynchronousCommunicator::send_buffer_
protected

Definition at line 71 of file CBC_AsyncComm.h.


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