12 #ifndef SSTMAC_COMMON_event_scheduler_H_INCLUDED 13 #define SSTMAC_COMMON_event_scheduler_H_INCLUDED 23 #if SSTMAC_INTEGRATED_SST_CORE 25 #include <sst/core/link.h> 26 # define DeclareIntegratedComponent(comp) \ 28 create_##comp(SST::ComponentId_t id, SST::Params& params); \ 29 extern const SST::ElementInfoComponent comp##_element_info; 30 # define ImplementIntegratedComponent(comp) \ 32 create_##comp(SST::ComponentId_t id, SST::Params& params) { \ 33 return new comp(id, params); \ 35 const SST::ElementInfoComponent comp##_element_info = { \ 37 "undocumented (for now) SST/macro integrated component.", \ 39 create_##comp, NULL, NULL, COMPONENT_CATEGORY_SYSTEM \ 42 # define DeclareIntegratedComponent(comp) 43 # define ImplementIntegratedComponent(comp) 53 #if SSTMAC_INTEGRATED_SST_CORE 66 return "event scheduler";
134 #ifdef INTEGRATED_SST_CORE_CHECK 137 set_correctly_scheduled(
bool flag) {
138 correctly_scheduled_ = flag;
141 bool correctly_scheduled_;
145 #if SSTMAC_INTEGRATED_SST_CORE 148 SST::ComponentId_t
id,
161 init(
unsigned int phase);
226 return parent_->now();
231 return "event subscheduler";
timestamp now() const
get the current time
void schedule_now(event_queue_entry *ev)
virtual std::string to_string() const
virtual void set_event_parent(event_scheduler *m)
Set the eventmanager for this scheduler.
void ipc_schedule(timestamp t, event_handler *handler, event *ev)
ipc_schedule Should only be called on stub handlers for which handler->ipc_handler() returns true ...
void init_thread_id(int id)
void cancel_all_messages()
void multithread_schedule(int src_thread, int dst_thread, timestamp t, event_queue_entry *ev)
A type of logger that collects some kind of statistic and outputs to a file during or at the end of a...
Base type for implementations of an engine that is able to schedule events and advance simulation tim...
void send_delayed_self_event_queue(timestamp delay, event_queue_entry *ev)
void init_loc_id(event_loc_id id)
void send_now_self_event(event *ev)
virtual std::string to_string() const
void sanity_check(timestamp t)
event_scheduler * parent() const
The main interface for something that can respond to an event (sst_message).
virtual ~event_scheduler()
A basic container for time (subject to future transplant).
void send_self_event(timestamp arrival, event *ev)
parallel_runtime * init()
SUMI = Simulator unified messagine interface It is also the name for a solid ink in Japanese - i...
virtual void set_event_manager(event_manager *m)
Set the eventmanager for this scheduler.
void send_now_self_event_queue(event_queue_entry *ev)
The interface for something that can schedule messages.
void send_delayed_self_event(timestamp delay, event *ev)
timestamp now() const
get the current time
event_manager * event_mgr() const
void send_self_event_queue(timestamp arrival, event_queue_entry *ev)
void register_stat(stat_collector *coll)
virtual void handle(event *ev)
event_manager * eventman_
void schedule(timestamp t, event_handler *handler, event *ev)
Add an event to the event queue, where msg will get delivered to handler at time t.
void schedule_delay(timestamp delay, event_handler *handler, event *ev)
event_scheduler * parent_