Rosetta
|
#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< MsgQueue > | messages_for_node_ |
vector0< MsgQueue > | messages_from_node_ |
vector0< vector0< MsgQueue > > | messages_ |
typedef std::list< SimulateMPIMessageOP > utility::SimulateMPIData::MsgQueue |
utility::SimulateMPIData::SimulateMPIData | ( | platform::Size | nprocs | ) |
References create_a3b_hbs::ii, and messages_.
|
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 |
References messages_for_node_.
Referenced by utility::SimulateMPI::incoming_message_queue_is_empty(), and utility::SimulateMPI::print_unprocessed_incoming_messages().
SimulateMPIData::MsgQueue const & utility::SimulateMPIData::messages_from_node | ( | platform::Size | src | ) | const |
References messages_from_node_.
Referenced by utility::SimulateMPI::outgoing_message_queue_is_empty(), and utility::SimulateMPI::print_unprocessed_outgoing_messages().
|
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 | ||
) |
References clear_processed_msgs(), CREATE_EXCEPTION, basic::options::OptionKeys::score::empty, messages_, utility::msg_name(), and utility::to_string().
Referenced by utility::SimulateMPI::receive_char_from_node(), utility::SimulateMPI::receive_double_from_node(), utility::SimulateMPI::receive_doubles_from_node(), utility::SimulateMPI::receive_integer_from_node(), utility::SimulateMPI::receive_integers_from_node(), utility::SimulateMPI::receive_size_from_node(), utility::SimulateMPI::receive_sizes_from_node(), and utility::SimulateMPI::receive_string_from_node().
void utility::SimulateMPIData::queue_message | ( | SimulateMPIMessageOP | msg | ) |
References all_messages_, messages_, messages_for_node_, messages_from_node_, and nmessages_.
Referenced by utility::SimulateMPI::send_char_to_node(), utility::SimulateMPI::send_double_to_node(), utility::SimulateMPI::send_doubles_to_node(), utility::SimulateMPI::send_integer_to_node(), utility::SimulateMPI::send_integers_to_node(), utility::SimulateMPI::send_size_to_node(), utility::SimulateMPI::send_sizes_to_node(), and utility::SimulateMPI::send_string_to_node().
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().
|
private |
Referenced by queue_message().
Referenced by pop_next_message_for_node_of_type(), pop_next_message_of_type(), queue_message(), and SimulateMPIData().
Referenced by messages_for_node(), queue_message(), and retrieve_next_message().
Referenced by messages_from_node(), and queue_message().
|
private |
Referenced by mpi_nprocs(), and pop_next_message_for_node_of_type().
|
private |
Referenced by queue_message().