Class CBC_ASynchronousCommunicator

Nested Relationships

Nested Types

Inheritance Relationships

Base Type

Class Documentation

class CBC_ASynchronousCommunicator : public opensn::AsynchronousCommunicator

Public Functions

inline explicit CBC_ASynchronousCommunicator(size_t angle_set_id, FLUDS &fluds, const MPICommunicatorSet &comm_set)
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) override
bool SendData()
std::vector<uint64_t> ReceiveData()
inline void Reset()

Protected Types

using MessageKey = std::tuple<int, uint64_t, unsigned int>

Protected Attributes

const size_t angle_set_id_
CBC_FLUDS &cbc_fluds_
std::map<MessageKey, std::vector<double>> outgoing_message_queue_
std::vector<BufferItem> send_buffer_
struct BufferItem

Public Members

int destination = 0
mpi::Request mpi_request
bool send_initiated = false
bool completed = false
ByteArray data_array