Rosetta  2020.37
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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
< SimulateMPIMessageOP
MsgQueue
 

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

Constructor & Destructor Documentation

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

References test.T200_Scoring::ii, and messages_.

Member Function Documentation

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().

SimulateMPIData::MsgQueue const & utility::SimulateMPIData::messages_for_node ( platform::Size  dst) const
SimulateMPIData::MsgQueue const & utility::SimulateMPIData::messages_from_node ( platform::Size  src) const
int utility::SimulateMPIData::mpi_nprocs ( ) const
inline

References mpi_nprocs_.

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

SimulateMPIMessageOP utility::SimulateMPIData::pop_next_message_for_node_of_type ( platform::Size  dst,
simulate_mpi_message_type  msg_type 
)
SimulateMPIMessageOP utility::SimulateMPIData::pop_next_message_of_type ( platform::Size  dst,
platform::Size  src,
simulate_mpi_message_type  msg_type 
)
void utility::SimulateMPIData::queue_message ( SimulateMPIMessageOP  msg)
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

MsgQueue utility::SimulateMPIData::all_messages_
private

Referenced by queue_message().

vector0< vector0< MsgQueue > > utility::SimulateMPIData::messages_
private
vector0< MsgQueue > utility::SimulateMPIData::messages_for_node_
private
vector0< MsgQueue > utility::SimulateMPIData::messages_from_node_
private
platform::Size utility::SimulateMPIData::mpi_nprocs_
private
platform::Size utility::SimulateMPIData::nmessages_
private

Referenced by queue_message().


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