SimGrid  3.18
Versatile Simulation of Distributed Systems
simgrid::s4u::Activity Class Referenceabstract

Detailed Description

Activities.

This class is the ancestor of every activities that an actor can undertake, that is, of the actions that do take time in the simulated world.

#include <Activity.hpp>

Inheritance diagram for simgrid::s4u::Activity:
simgrid::s4u::Comm simgrid::s4u::Exec

Public Member Functions

 Activity (Activity const &)=delete
 
Activityoperator= (Activity const &)=delete
 
virtual Activitystart ()=0
 Starts a previously created activity. More...
 
virtual Activitywait ()=0
 Tests whether the given activity is terminated yet. More...
 
virtual Activitywait (double timeout)=0
 Blocks until the activity is terminated, or until the timeout is elapsed Raises: timeout exception. More...
 
e_s4u_activity_state_t getState ()
 Cancel that activity. More...
 
virtual double getRemains ()
 Get the remaining amount of work that this Activity entails. More...
 
ActivitysetRemains (double remains)
 Set the [remaining] amount of work that this Activity will entail. More...
 
ActivitysetUserData (void *data)
 Put some user data onto the Activity. More...
 
voidgetUserData ()
 Retrieve the user data of the Activity. More...
 

Protected Member Functions

 Activity ()=default
 
virtual ~Activity ()=default
 

Friends

void intrusive_ptr_release (Comm *c)
 
void intrusive_ptr_add_ref (Comm *c)
 
void intrusive_ptr_release (Exec *e)
 
void intrusive_ptr_add_ref (Exec *e)
 

Constructor & Destructor Documentation

◆ Activity() [1/2]

simgrid::s4u::Activity::Activity ( )
protecteddefault

◆ ~Activity()

virtual simgrid::s4u::Activity::~Activity ( )
protectedvirtualdefault

◆ Activity() [2/2]

simgrid::s4u::Activity::Activity ( Activity const &  )
delete

Member Function Documentation

◆ operator=()

Activity& simgrid::s4u::Activity::operator= ( Activity const &  )
delete

◆ start()

virtual Activity* simgrid::s4u::Activity::start ( )
pure virtual

Starts a previously created activity.

This function is optional: you can call wait() even if you didn't call start()

Implemented in simgrid::s4u::Comm, and simgrid::s4u::Exec.

◆ wait() [1/2]

virtual Activity* simgrid::s4u::Activity::wait ( )
pure virtual

Tests whether the given activity is terminated yet.

This is a pure function. Blocks until the activity is terminated

Implemented in simgrid::s4u::Comm, and simgrid::s4u::Exec.

◆ wait() [2/2]

virtual Activity* simgrid::s4u::Activity::wait ( double  timeout)
pure virtual

Blocks until the activity is terminated, or until the timeout is elapsed Raises: timeout exception.

Implemented in simgrid::s4u::Comm, and simgrid::s4u::Exec.

◆ getState()

e_s4u_activity_state_t simgrid::s4u::Activity::getState ( )
inline

Cancel that activity.

Retrieve the current state of the activity

◆ getRemains()

double simgrid::s4u::Activity::getRemains ( )
virtual

Get the remaining amount of work that this Activity entails.

When it's 0, it's done.

Reimplemented in simgrid::s4u::Exec.

◆ setRemains()

Activity * simgrid::s4u::Activity::setRemains ( double  remains)

Set the [remaining] amount of work that this Activity will entail.

It is forbidden to change the amount of work once the Activity is started

◆ setUserData()

Activity* simgrid::s4u::Activity::setUserData ( void data)
inline

Put some user data onto the Activity.

◆ getUserData()

void* simgrid::s4u::Activity::getUserData ( )
inline

Retrieve the user data of the Activity.

Friends And Related Function Documentation

◆ intrusive_ptr_release [1/2]

void intrusive_ptr_release ( Comm c)
friend

◆ intrusive_ptr_add_ref [1/2]

void intrusive_ptr_add_ref ( Comm c)
friend

◆ intrusive_ptr_release [2/2]

void intrusive_ptr_release ( Exec e)
friend

◆ intrusive_ptr_add_ref [2/2]

void intrusive_ptr_add_ref ( Exec e)
friend

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