SimGrid  3.21
Versatile Simulation of Distributed Systems
simgrid::s4u::Exec Class Reference

Detailed Description

Computation Activity, representing the asynchronous disk access.

They are generated from simgrid::s4u::this_actor::exec_init() or simgrid::s4u::Host::execute().

#include <Exec.hpp>

Inherits simgrid::s4u::Activity.

Public Member Functions

 ~Exec ()=default
 
Execstart () override
 Starts a previously created activity. More...
 
Execwait () override
 Tests whether the given activity is terminated yet. More...
 
Execwait_for (double timeout) override
 Blocks until the activity is terminated, or until the timeout is elapsed Raises: timeout exception. More...
 
Execcancel () override
 Cancel that activity. More...
 
bool test () override
 Returns whether this activity is completed. More...
 
ExecPtr set_priority (double priority)
 
ExecPtr set_bound (double bound)
 
ExecPtr set_host (Host *host)
 
ExecPtr set_name (std::string name)
 
ExecPtr set_tracing_category (std::string category)
 
Hostget_host ()
 
double get_remaining () override
 Get the remaining amount of work that this Activity entails. More...
 
double get_remaining_ratio ()
 
- Public Member Functions inherited from simgrid::s4u::Activity
void wait_until (double time_limit)
 Blocks until the activity is terminated, or until the time limit is reached Raises: timeout exception. More...
 
Activity::State get_state ()
 Retrieve the current state of the activity. More...
 
Activityset_remaining (double remains)
 Set the [remaining] amount of work that this Activity will entail. More...
 
Activityset_user_data (void *data)
 Put some user data onto the Activity. More...
 
void * get_user_data ()
 Retrieve the user data of the Activity. More...
 

Static Public Attributes

static simgrid::xbt::signal< void(simgrid::s4u::ActorPtr)> on_start
 
static simgrid::xbt::signal< void(simgrid::s4u::ActorPtr)> on_completion
 

Friends

void intrusive_ptr_release (simgrid::s4u::Exec *e)
 
void intrusive_ptr_add_ref (simgrid::s4u::Exec *e)
 
ExecPtr this_actor::exec_init (double flops_amount)
 

Additional Inherited Members

- Public Types inherited from simgrid::s4u::Activity
enum  State {
  State::INITED = 0, State::STARTED, State::CANCELED, State::ERRORED,
  State::FINISHED
}
 
- Protected Member Functions inherited from simgrid::s4u::Activity
 Activity ()=default
 
virtual ~Activity ()=default
 

Constructor & Destructor Documentation

◆ ~Exec()

simgrid::s4u::Exec::~Exec ( )
default

Member Function Documentation

◆ start()

Exec* simgrid::s4u::Exec::start ( )
overridevirtual

Starts a previously created activity.

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

Implements simgrid::s4u::Activity.

◆ wait()

Exec* simgrid::s4u::Exec::wait ( )
overridevirtual

Tests whether the given activity is terminated yet.

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

Implements simgrid::s4u::Activity.

◆ wait_for()

Exec* simgrid::s4u::Exec::wait_for ( double  timeout)
overridevirtual

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

Implements simgrid::s4u::Activity.

◆ cancel()

Exec* simgrid::s4u::Exec::cancel ( )
overridevirtual

Cancel that activity.

Implements simgrid::s4u::Activity.

◆ test()

bool simgrid::s4u::Exec::test ( )
overridevirtual

Returns whether this activity is completed.

Implements simgrid::s4u::Activity.

◆ set_priority()

ExecPtr simgrid::s4u::Exec::set_priority ( double  priority)

◆ set_bound()

ExecPtr simgrid::s4u::Exec::set_bound ( double  bound)

◆ set_host()

ExecPtr simgrid::s4u::Exec::set_host ( Host host)

◆ set_name()

ExecPtr simgrid::s4u::Exec::set_name ( std::string  name)

◆ set_tracing_category()

ExecPtr simgrid::s4u::Exec::set_tracing_category ( std::string  category)

◆ get_host()

Host* simgrid::s4u::Exec::get_host ( )

◆ get_remaining()

double simgrid::s4u::Exec::get_remaining ( )
overridevirtual

Get the remaining amount of work that this Activity entails.

When it's 0, it's done.

Reimplemented from simgrid::s4u::Activity.

◆ get_remaining_ratio()

double simgrid::s4u::Exec::get_remaining_ratio ( )

Friends And Related Function Documentation

◆ intrusive_ptr_release

void intrusive_ptr_release ( simgrid::s4u::Exec e)
friend

◆ intrusive_ptr_add_ref

void intrusive_ptr_add_ref ( simgrid::s4u::Exec e)
friend

◆ this_actor::exec_init

ExecPtr this_actor::exec_init ( double  flops_amount)
friend

Member Data Documentation

◆ on_start

simgrid::xbt::signal<void(simgrid::s4u::ActorPtr)> simgrid::s4u::Exec::on_start
static

◆ on_completion

simgrid::xbt::signal<void(simgrid::s4u::ActorPtr)> simgrid::s4u::Exec::on_completion
static

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