11 #ifndef WRENCH_S4U_PENDINGCOMMUNICATION_H
12 #define WRENCH_S4U_PENDINGCOMMUNICATION_H
16 #include <simgrid/s4u/Comm.hpp>
17 #include "wrench/util/MessageManager.h"
23 class SimulationMessage;
49 std::unique_ptr<SimulationMessage>
wait();
50 std::unique_ptr<SimulationMessage>
wait(
double timeout);
53 std::vector<std::shared_ptr<S4U_PendingCommunication>> pending_comms,
57 std::vector<S4U_PendingCommunication*> pending_comms,
79 #endif //WRENCH_S4U_PENDINGCOMMUNICATION_H
simgrid::s4u::CommPtr comm_ptr
The SimGrid communication handle.
Definition: S4U_PendingCommunication.h:63
std::unique_ptr< SimulationMessage > simulation_message
The message.
Definition: S4U_PendingCommunication.h:65
OperationType operation_type
The operation type.
Definition: S4U_PendingCommunication.h:69
S4U_PendingCommunication(simgrid::s4u::Mailbox *mailbox, OperationType operation_type)
Constructor.
Definition: S4U_PendingCommunication.h:47
This is a simple wrapper class around S4U asynchronous communication checking methods.
Definition: S4U_PendingCommunication.h:30
Definition: Action.cpp:28
static unsigned long waitForSomethingToHappen(std::vector< std::shared_ptr< S4U_PendingCommunication >> pending_comms, double timeout)
Wait for any pending communication completion.
Definition: S4U_PendingCommunication.cpp:96
simgrid::s4u::Mailbox * mailbox
The mailbox.
Definition: S4U_PendingCommunication.h:67
OperationType
The communication operation's type.
Definition: S4U_PendingCommunication.h:36
std::unique_ptr< SimulationMessage > wait()
Wait for the pending communication to complete.
Definition: S4U_PendingCommunication.cpp:35