wrench::S4U_PendingCommunication
-
class S4U_PendingCommunication
This is a simple wrapper class around S4U asynchronous communication checking methods.
Public Types
Public Functions
-
inline S4U_PendingCommunication(simgrid::s4u::Mailbox *mailbox, OperationType operation_type)
Constructor.
- Parameters:
mailbox – the mailbox
operation_type – the operation type
-
std::unique_ptr<SimulationMessage> wait()
Wait for the pending communication to complete.
- Throws:
std::shared_ptr<NetworkError> –
- Returns:
A (unique pointer to a) simulation message
-
std::unique_ptr<SimulationMessage> wait(double timeout)
Wait for the pending communication to complete with a timeout.
- Parameters:
timeout – a timeout in seconds
- Throws:
std::shared_ptr<NetworkError> –
- Returns:
A (unique pointer to a) simulation message
Public Members
-
simgrid::s4u::CommPtr comm_ptr
The SimGrid communication handle.
-
simgrid::s4u::Mailbox *mailbox
The mailbox.
-
OperationType operation_type
The operation type.
-
std::unique_ptr<SimulationMessage> simulation_message
The message.
Public Static Functions
Wait for any pending communication completion.
- Parameters:
pending_comms – a list of pending communications
timeout – timeout value in seconds (-1 means no timeout)
- Throws:
std::invalid_argument –
- Returns:
the index of the comm to which something happened (success or failure)
-
static unsigned long waitForSomethingToHappen(std::vector<S4U_PendingCommunication*> pending_comms, double timeout)
Wait for any pending communication completion.
- Parameters:
pending_comms – a list of pending communications
timeout – timeout value in seconds (-1 means no timeout)
- Throws:
std::invalid_argument –
- Returns:
the index of the comm to which something happened (success or failure), or ULONG_MAX if nothing happened before the timeout expired
-
inline S4U_PendingCommunication(simgrid::s4u::Mailbox *mailbox, OperationType operation_type)