Rosetta
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
utility::SimulateMPIData Class Reference

#include <SimulateMPI.hh>

Public Types

typedef std::list< SimulateMPIMessageOPMsgQueue
 

Public Member Functions

 SimulateMPIData (platform::Size nprocs)
 
int mpi_nprocs () const
 
void queue_message (SimulateMPIMessageOP msg)
 
SimulateMPIMessageOP pop_next_message_for_node_of_type (platform::Size dst, simulate_mpi_message_type msg_type)
 
SimulateMPIMessageOP pop_next_message_of_type (platform::Size dst, platform::Size src, simulate_mpi_message_type msg_type)
 
SimulateMPIMessageCOP retrieve_next_message (platform::Size dst)
 
MsgQueue const & messages_from_node (platform::Size src) const
 
MsgQueue const & messages_for_node (platform::Size dst) const
 

Private Member Functions

void clear_processed_msgs (MsgQueue &)
 

Private Attributes

platform::Size mpi_nprocs_
 
platform::Size nmessages_
 
MsgQueue all_messages_
 
vector0< MsgQueuemessages_for_node_
 
vector0< MsgQueuemessages_from_node_
 
vector0< vector0< MsgQueue > > messages_
 

Member Typedef Documentation

◆ MsgQueue

Constructor & Destructor Documentation

◆ SimulateMPIData()

utility::SimulateMPIData::SimulateMPIData ( platform::Size  nprocs)

References create_a3b_hbs::ii, and messages_.

Member Function Documentation

◆ clear_processed_msgs()

void utility::SimulateMPIData::clear_processed_msgs ( MsgQueue message_queue)
private

Erase elements of the queue that have already been processed until we arrive at an element that has not yet been processed and then return.

Referenced by pop_next_message_for_node_of_type(), pop_next_message_of_type(), and retrieve_next_message().

◆ messages_for_node()

SimulateMPIData::MsgQueue const & utility::SimulateMPIData::messages_for_node ( platform::Size  dst) const

◆ messages_from_node()

SimulateMPIData::MsgQueue const & utility::SimulateMPIData::messages_from_node ( platform::Size  src) const

◆ mpi_nprocs()

int utility::SimulateMPIData::mpi_nprocs ( ) const
inline

References mpi_nprocs_.

Referenced by utility::SimulateMPI::mpi_nprocs().

◆ pop_next_message_for_node_of_type()

SimulateMPIMessageOP utility::SimulateMPIData::pop_next_message_for_node_of_type ( platform::Size  dst,
simulate_mpi_message_type  msg_type 
)

◆ pop_next_message_of_type()

SimulateMPIMessageOP utility::SimulateMPIData::pop_next_message_of_type ( platform::Size  dst,
platform::Size  src,
simulate_mpi_message_type  msg_type 
)

◆ queue_message()

void utility::SimulateMPIData::queue_message ( SimulateMPIMessageOP  msg)

◆ retrieve_next_message()

SimulateMPIMessageCOP utility::SimulateMPIData::retrieve_next_message ( platform::Size  dst)

Retrieve the next message from the queue without marking it as having been processed.

References clear_processed_msgs(), CREATE_EXCEPTION, basic::options::OptionKeys::score::empty, messages_for_node_, and utility::to_string().

Referenced by utility::SimulateMPI::index_of_next_message().

Member Data Documentation

◆ all_messages_

MsgQueue utility::SimulateMPIData::all_messages_
private

Referenced by queue_message().

◆ messages_

vector0< vector0< MsgQueue > > utility::SimulateMPIData::messages_
private

◆ messages_for_node_

vector0< MsgQueue > utility::SimulateMPIData::messages_for_node_
private

◆ messages_from_node_

vector0< MsgQueue > utility::SimulateMPIData::messages_from_node_
private

◆ mpi_nprocs_

platform::Size utility::SimulateMPIData::mpi_nprocs_
private

◆ nmessages_

platform::Size utility::SimulateMPIData::nmessages_
private

Referenced by queue_message().


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