SST/macro
Public Member Functions | Protected Attributes | List of all members
sstmac::event_subscheduler Class Reference

#include <event_scheduler.h>

Inheritance diagram for sstmac::event_subscheduler:
Inheritance graph
Collaboration diagram for sstmac::event_subscheduler:
Collaboration graph

Public Member Functions

 event_subscheduler ()
 
timestamp now () const
 get the current time More...
 
virtual std::string to_string () const
 
virtual void handle (event *ev)
 
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. More...
 
void schedule (timestamp t, event_queue_entry *ev)
 
void schedule_now (event_queue_entry *ev)
 
void schedule_now (event_handler *handler, event *ev)
 
void schedule_delay (timestamp delay, event_handler *handler, event *ev)
 
void schedule_delay (timestamp delay, event_queue_entry *ev)
 
void send_self_event (timestamp arrival, event *ev)
 
void send_delayed_self_event (timestamp delay, event *ev)
 
void send_now_self_event (event *ev)
 
void send_self_event_queue (timestamp arrival, event_queue_entry *ev)
 
void send_delayed_self_event_queue (timestamp delay, event_queue_entry *ev)
 
void send_now_self_event_queue (event_queue_entry *ev)
 
virtual void set_event_parent (event_scheduler *m)
 Set the eventmanager for this scheduler. More...
 
event_schedulerparent () const
 
- Public Member Functions inherited from sstmac::event_handler
virtual ~event_handler ()
 
event_loc_id event_location () const
 
virtual bool ipc_handler () const
 Whether an event handler is a "fake" handler that represents logical process boundary. More...
 
int thread_id () const
 
virtual void deadlock_check (event *ev)
 
virtual void deadlock_check ()
 

Protected Attributes

event_schedulerparent_
 

Additional Inherited Members

- Static Public Attributes inherited from sstmac::event_handler
static const int null_lpid = -1
 
static const int null_threadid = -1
 
- Protected Member Functions inherited from sstmac::event_handler
 event_handler ()
 
void init_loc_id (event_loc_id id)
 
void init_thread_id (int id)
 

Detailed Description

Definition at line 216 of file event_scheduler.h.

Constructor & Destructor Documentation

sstmac::event_subscheduler::event_subscheduler ( )
inline

Definition at line 220 of file event_scheduler.h.

Member Function Documentation

virtual void sstmac::event_subscheduler::handle ( event ev)
virtual
timestamp sstmac::event_subscheduler::now ( ) const
inline

get the current time

Returns
a timestamp

Definition at line 225 of file event_scheduler.h.

Referenced by sstmac::hw::packet_flow_sender::handle_payload().

event_scheduler* sstmac::event_subscheduler::parent ( ) const
inline

Definition at line 295 of file event_scheduler.h.

Referenced by sstmac::hw::packet_flow_nic::to_string().

void sstmac::event_subscheduler::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.

Parameters
tTime at which the event should happen
handlerThe handler for the event
msgThe message to deliver to the handler
void sstmac::event_subscheduler::schedule ( timestamp  t,
event_queue_entry ev 
)
void sstmac::event_subscheduler::schedule_delay ( timestamp  delay,
event_handler handler,
event ev 
)
void sstmac::event_subscheduler::schedule_delay ( timestamp  delay,
event_queue_entry ev 
)
void sstmac::event_subscheduler::schedule_now ( event_queue_entry ev)
void sstmac::event_subscheduler::schedule_now ( event_handler handler,
event ev 
)
void sstmac::event_subscheduler::send_delayed_self_event ( timestamp  delay,
event ev 
)
void sstmac::event_subscheduler::send_delayed_self_event_queue ( timestamp  delay,
event_queue_entry ev 
)
void sstmac::event_subscheduler::send_now_self_event ( event ev)
void sstmac::event_subscheduler::send_now_self_event_queue ( event_queue_entry ev)
void sstmac::event_subscheduler::send_self_event ( timestamp  arrival,
event ev 
)
void sstmac::event_subscheduler::send_self_event_queue ( timestamp  arrival,
event_queue_entry ev 
)
virtual void sstmac::event_subscheduler::set_event_parent ( event_scheduler m)
inlinevirtual

Set the eventmanager for this scheduler.

Unfortunately, this always has to be called after an event_scheduler is constructed.

Parameters
mthe simulation eventmanager

Reimplemented in sstmac::sw::operating_system, sstmac::hw::nic, sstmac::hw::packet_flow_netlink, sstmac::hw::packet_flow_nic_packetizer, and sstmac::hw::packet_flow_nic.

Definition at line 288 of file event_scheduler.h.

References sstmac::event_handler::init_loc_id(), and sstmac::event_handler::init_thread_id().

Referenced by sstmac::hw::packet_flow_nic_packetizer::to_string().

Here is the call graph for this function:

virtual std::string sstmac::event_subscheduler::to_string ( ) const
inlinevirtual

Member Data Documentation

event_scheduler* sstmac::event_subscheduler::parent_
protected

Definition at line 300 of file event_scheduler.h.


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