SimGrid  3.18
Versatile Simulation of Distributed Systems
Actor.hpp File Reference
#include <atomic>
#include <chrono>
#include <functional>
#include <memory>
#include <stdexcept>
#include <string>
#include <type_traits>
#include <utility>
#include <vector>
#include <xbt/Extendable.hpp>
#include <xbt/functional.hpp>
#include <xbt/string.hpp>
#include <simgrid/chrono.hpp>
#include <simgrid/s4u/forward.hpp>

Classes

class  simgrid::s4u::Actor
 An actor is an independent stream of execution in your distributed application. More...
 

Namespaces

 simgrid
 Alltoall Bruck.
 
 simgrid::s4u
 
 simgrid::s4u::this_actor
 Static methods working on the current actor (see s4u::Actor)
 

Functions

bool simgrid::s4u::this_actor::isMaestro ()
 Returns true if run from the kernel mode, and false if run from a real actor. More...
 
void simgrid::s4u::this_actor::sleep_for (double duration)
 Block the actor sleeping for that amount of seconds (may throws hostFailure) More...
 
void simgrid::s4u::this_actor::sleep_until (double timeout)
 
template<class Rep , class Period >
void simgrid::s4u::this_actor::sleep_for (std::chrono::duration< Rep, Period > duration)
 
template<class Duration >
void simgrid::s4u::this_actor::sleep_until (const SimulationTimePoint< Duration > &timeout_time)
 
 simgrid::s4u::this_actor::XBT_ATTRIB_DEPRECATED_v320 ("Use sleep_for(): v3.20 will turn this warning into an error.") inline void sleep(double duration)
 
void simgrid::s4u::this_actor::execute (double flop)
 Block the actor, computing the given amount of flops. More...
 
void simgrid::s4u::this_actor::execute (double flop, double priority)
 Block the actor, computing the given amount of flops at the given priority. More...
 
void simgrid::s4u::this_actor::parallel_execute (int host_nb, sg_host_t *host_list, double *flops_amount, double *bytes_amount)
 
void simgrid::s4u::this_actor::parallel_execute (int host_nb, sg_host_t *host_list, double *flops_amount, double *bytes_amount, double timeout)
 
ExecPtr simgrid::s4u::this_actor::exec_init (double flops_amounts)
 
ExecPtr simgrid::s4u::this_actor::exec_async (double flops_amounts)
 
 simgrid::s4u::this_actor::XBT_ATTRIB_DEPRECATED_v320 ("Use Mailbox::get(): v3.20 will turn this warning into an error.") extern void *recv(MailboxPtr chan)
 Block the actor until it gets a message from the given mailbox. More...
 
 simgrid::s4u::this_actor::XBT_ATTRIB_DEPRECATED_v320 ("Use Mailbox::recv_async(): v3.20 will turn this warning into an error.") extern CommPtr irecv(MailboxPtr chan
 
 simgrid::s4u::this_actor::XBT_ATTRIB_DEPRECATED_v320 ("Use Mailbox::put(): v3.20 will turn this warning into an error.") extern void send(MailboxPtr chan
 Block the actor until it delivers a message of the given simulated size to the given mailbox. More...
 
 simgrid::s4u::this_actor::XBT_ATTRIB_DEPRECATED_v320 ("Use Mailbox::put_async(): v3.20 will turn this warning into an error.") extern CommPtr isend(MailboxPtr chan
 
aid_t simgrid::s4u::this_actor::getPid ()
 Returns the actor ID of the current actor). More...
 
aid_t simgrid::s4u::this_actor::getPpid ()
 Returns the ancestor's actor ID of the current actor. More...
 
std::string simgrid::s4u::this_actor::getName ()
 Returns the name of the current actor. More...
 
const char * simgrid::s4u::this_actor::getCname ()
 Returns the name of the current actor as a C string. More...
 
Host * simgrid::s4u::this_actor::getHost ()
 Returns the name of the host on which the actor is running. More...
 
void simgrid::s4u::this_actor::suspend ()
 Suspend the actor. More...
 
void simgrid::s4u::this_actor::yield ()
 yield the actor. More...
 
void simgrid::s4u::this_actor::resume ()
 Resume the actor. More...
 
bool simgrid::s4u::this_actor::isSuspended ()
 
void simgrid::s4u::this_actor::kill ()
 kill the actor. More...
 
void simgrid::s4u::this_actor::onExit (int_f_pvoid_pvoid_t fun, void *data)
 Add a function to the list of "on_exit" functions. More...
 
void simgrid::s4u::this_actor::migrate (Host *new_host)
 Migrate the actor to a new host. More...
 

Variables

double simgrid::s4u::this_actor::timeout
 
void ** simgrid::s4u::this_actor::data
 
voidsimgrid::s4u::this_actor::payload
 
void double simgrid::s4u::this_actor::simulatedSize