SimGrid  3.18
Versatile Simulation of Distributed Systems
simgrid::simix::ActorImpl Class Reference

#include <ActorImpl.hpp>

Inheritance diagram for simgrid::simix::ActorImpl:
simgrid::surf::PropertyHolder

Public Member Functions

 ActorImpl ()
 
 ~ActorImpl ()
 
const simgrid::xbt::stringgetName () const
 
const char * getCname () const
 
simgrid::s4u::ActorPtr iface ()
 
simgrid::s4u::Actorciface ()
 
void daemonize ()
 This process will be terminated automatically when the last non-daemon process finishes. More...
 
bool isDaemon ()
 
bool isSuspended ()
 Whether this actor has been daemonized. More...
 
simgrid::s4u::Actorrestart ()
 
smx_activity_t suspend (ActorImpl *issuer)
 
void resume ()
 
smx_activity_t sleep (double duration)
 
void setUserData (void *data)
 
voidgetUserData ()
 
- Public Member Functions inherited from simgrid::surf::PropertyHolder
 PropertyHolder ()=default
 
 ~PropertyHolder ()
 
const char * getProperty (std::string key)
 Return the property associated to the provided key (or nullptr if not existing) More...
 
void setProperty (std::string id, std::string value)
 Change the value of a given key in the property set. More...
 
std::map< std::string, std::string > * getProperties ()
 Return the whole set of properties. More...
 

Public Attributes

boost::intrusive::list_member_hook host_process_list_hook
 
boost::intrusive::list_member_hook smx_destroy_list_hook
 
boost::intrusive::list_member_hook smx_synchro_hook
 
aid_t pid = 0
 
aid_t ppid = -1
 
simgrid::xbt::string name
 
s4u::Hosthost = nullptr
 
smx_context_t context = nullptr
 
std::exception_ptr exception
 
bool finished = false
 
bool blocked = false
 
bool suspended = false
 
bool auto_restart = false
 
sg_host_t new_host = nullptr
 
smx_activity_t waiting_synchro = nullptr
 
std::list< smx_activity_tcomms
 
s_smx_simcall_t simcall
 
voiduserdata = nullptr
 
std::vector< s_smx_process_exit_fun_ton_exit
 
std::function< void()> code
 
smx_timer_t kill_timer = nullptr
 
int segment_index = -1
 

Friends

void intrusive_ptr_add_ref (ActorImpl *process)
 
void intrusive_ptr_release (ActorImpl *process)
 

Constructor & Destructor Documentation

◆ ActorImpl()

simgrid::simix::ActorImpl::ActorImpl ( )
inline

◆ ~ActorImpl()

simgrid::simix::ActorImpl::~ActorImpl ( )

Member Function Documentation

◆ getName()

const simgrid::xbt::string& simgrid::simix::ActorImpl::getName ( ) const
inline

◆ getCname()

const char* simgrid::simix::ActorImpl::getCname ( ) const
inline

◆ iface()

simgrid::s4u::ActorPtr simgrid::simix::ActorImpl::iface ( )
inline

◆ ciface()

simgrid::s4u::Actor* simgrid::simix::ActorImpl::ciface ( )
inline

◆ daemonize()

void simgrid::simix::ActorImpl::daemonize ( )

This process will be terminated automatically when the last non-daemon process finishes.

◆ isDaemon()

bool simgrid::simix::ActorImpl::isDaemon ( )
inline

◆ isSuspended()

bool simgrid::simix::ActorImpl::isSuspended ( )
inline

Whether this actor has been daemonized.

◆ restart()

simgrid::s4u::Actor * simgrid::simix::ActorImpl::restart ( )

◆ suspend()

smx_activity_t simgrid::simix::ActorImpl::suspend ( ActorImpl issuer)

◆ resume()

void simgrid::simix::ActorImpl::resume ( )

◆ sleep()

smx_activity_t simgrid::simix::ActorImpl::sleep ( double  duration)

◆ setUserData()

void simgrid::simix::ActorImpl::setUserData ( void data)
inline

◆ getUserData()

void* simgrid::simix::ActorImpl::getUserData ( )
inline

Friends And Related Function Documentation

◆ intrusive_ptr_add_ref

void intrusive_ptr_add_ref ( ActorImpl process)
friend

◆ intrusive_ptr_release

void intrusive_ptr_release ( ActorImpl process)
friend

Member Data Documentation

◆ host_process_list_hook

boost::intrusive::list_member_hook simgrid::simix::ActorImpl::host_process_list_hook

◆ smx_destroy_list_hook

boost::intrusive::list_member_hook simgrid::simix::ActorImpl::smx_destroy_list_hook

◆ smx_synchro_hook

boost::intrusive::list_member_hook simgrid::simix::ActorImpl::smx_synchro_hook

◆ pid

aid_t simgrid::simix::ActorImpl::pid = 0

◆ ppid

aid_t simgrid::simix::ActorImpl::ppid = -1

◆ name

simgrid::xbt::string simgrid::simix::ActorImpl::name

◆ host

s4u::Host* simgrid::simix::ActorImpl::host = nullptr

◆ context

smx_context_t simgrid::simix::ActorImpl::context = nullptr

◆ exception

std::exception_ptr simgrid::simix::ActorImpl::exception

◆ finished

bool simgrid::simix::ActorImpl::finished = false

◆ blocked

bool simgrid::simix::ActorImpl::blocked = false

◆ suspended

bool simgrid::simix::ActorImpl::suspended = false

◆ auto_restart

bool simgrid::simix::ActorImpl::auto_restart = false

◆ new_host

sg_host_t simgrid::simix::ActorImpl::new_host = nullptr

◆ waiting_synchro

smx_activity_t simgrid::simix::ActorImpl::waiting_synchro = nullptr

◆ comms

std::list<smx_activity_t> simgrid::simix::ActorImpl::comms

◆ simcall

s_smx_simcall_t simgrid::simix::ActorImpl::simcall

◆ userdata

void* simgrid::simix::ActorImpl::userdata = nullptr

◆ on_exit

std::vector<s_smx_process_exit_fun_t> simgrid::simix::ActorImpl::on_exit

◆ code

std::function<void()> simgrid::simix::ActorImpl::code

◆ kill_timer

smx_timer_t simgrid::simix::ActorImpl::kill_timer = nullptr

◆ segment_index

int simgrid::simix::ActorImpl::segment_index = -1

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