SST/macro
|
An event manager that relies on the eventcontainer template base class to manage events with a priority queue template parameter. More...
#include <event_heap.h>
Public Member Functions | |
event_heap (parallel_runtime *rt) | |
~event_heap () throw () | |
void | clear (timestamp zero_time=timestamp(0)) |
Clear all events and set time back to a zero of your choice. More... | |
bool | empty () const |
void | cancel_all_messages (event_loc_id canceled_loc) |
Public Member Functions inherited from sstmac::native::event_container | |
virtual | ~event_container () throw () |
Goodbye. More... | |
virtual void | run () |
Run the eventmanager. More... | |
virtual void | init_factory_params (sprockit::sim_parameters *params) |
Public Member Functions inherited from sstmac::event_manager | |
virtual std::string | to_string () const |
bool | is_complete () |
virtual | ~event_manager () |
Goodbye. More... | |
timestamp | now () const |
void | register_stat (stat_collector *stat, bool reduce_all=true, bool dump_all=false, bool dump_main=true) |
stat_collector * | register_thread_unique_stat (stat_collector *stat, bool reduce_all=true, bool dump_all=false, bool dump_main=true) |
partition * | topology_partition () const |
parallel_runtime * | runtime () const |
void | finish_stats () |
virtual void | finish_stats (stat_collector *main, const std::string &name, timestamp end) |
void | stop () |
int | me () const |
int | worker_id () const |
int | nproc () const |
int | nworker () const |
virtual void | ipc_schedule (timestamp t, event_loc_id dst, event_loc_id src, uint32_t seqnum, event *ev) |
virtual void | multithread_schedule (int srcthread, int dstthread, uint32_t seqnum, event_queue_entry *ev) |
virtual int | lpid () const |
int | thread_id () const |
int | nthread () const |
virtual event_manager * | ev_man_for_thread (int thread_id) const |
virtual void | set_interconnect (hw::interconnect *interconn) |
virtual void | schedule_stop (timestamp until) |
Public Member Functions inherited from sprockit::factory_type | |
virtual void | init_factory_params (sim_parameters *params) |
virtual void | finalize_init () |
Protected Types | |
typedef std::priority_queue< event *, std::vector< event_queue_entry * >, std::greater< event_queue_entry * > > | queue_t |
Protected Member Functions | |
event_queue_entry * | pop_next_event () |
void | add_event (event_queue_entry *ev) |
Called by schedule. Child class must implement. More... | |
Protected Member Functions inherited from sstmac::native::event_container | |
event_container (parallel_runtime *rt) | |
virtual void | do_next_event () |
virtual bool | vote_to_terminate () |
void | schedule (timestamp start_time, uint32_t seqnum, event_queue_entry *ev) |
Set off the given eventhandler at the given time. More... | |
void | finish () |
Called at end of run(). More... | |
Protected Member Functions inherited from sstmac::event_manager | |
event_manager (parallel_runtime *rt) | |
void | set_now (const timestamp &ts) |
Protected Attributes | |
queue_t | queue_ |
Protected Attributes inherited from sstmac::native::event_container | |
bool | running_ |
Sentinel to track whether the event handler is running or not. More... | |
timestamp | last_update_sim_ |
Time of last event executed. More... | |
Protected Attributes inherited from sstmac::event_manager | |
bool | complete_ |
bool | stopped_ |
bool | finish_on_stop_ |
parallel_runtime * | rt_ |
int | thread_id_ |
int | me_ |
int | nproc_ |
int | nthread_ |
Additional Inherited Members | |
Static Public Member Functions inherited from sstmac::event_manager | |
static int | current_thread_id () |
Static Public Attributes inherited from sstmac::event_manager | |
static event_manager * | global |
Static Protected Attributes inherited from sstmac::event_manager | |
static std::vector< pthread_t > | pthreads_ |
static std::vector< pthread_attr_t > | pthread_attrs_ |
An event manager that relies on the eventcontainer template base class to manage events with a priority queue template parameter.
Definition at line 32 of file event_heap.h.
|
protected |
Definition at line 56 of file event_heap.h.
|
inline |
Definition at line 37 of file event_heap.h.
References clear(), and ~event_heap().
sstmac::native::event_heap::~event_heap | ( | ) | ||
throw | ( | |||
) |
Referenced by event_heap().
|
protectedvirtual |
Called by schedule. Child class must implement.
Implements sstmac::native::event_container.
|
virtual |
Implements sstmac::event_manager.
Referenced by empty().
Clear all events and set time back to a zero of your choice.
sprockit::illformed_error | if the event manager is running. |
Implements sstmac::event_manager.
Referenced by event_heap().
|
inlinevirtual |
Implements sstmac::native::event_container.
Definition at line 47 of file event_heap.h.
References cancel_all_messages(), and queue_.
|
protectedvirtual |
Implements sstmac::native::event_container.
|
protected |
Definition at line 65 of file event_heap.h.
Referenced by empty().