Base class for Events - Items sent across links to communicate between components. More...
#include <event.h>
Data Structures | |
class | Handler |
Event Handler class with user-data argument. More... | |
class | Handler< classT, void > |
Event Handler class with no user-data. More... | |
class | HandlerBase |
Functor classes for Event handling. More... | |
Public Types | |
typedef std::pair< uint64_t, int > | id_type |
Type definition of unique identifiers. | |
Public Member Functions | |
void | execute (void) |
Cause this event to fire. | |
virtual Event * | clone () |
Clones the event in for the case of a broadcast. | |
void | setDeliveryLink (LinkId_t id, Link *link) |
Sets the link id used for delivery. | |
Link * | getDeliveryLink () |
Gets the link id used for delivery. | |
void | setRemoteEvent () |
For use by SST Core only. | |
LinkId_t | getLinkId (void) const |
Gets the link id associated with this event. | |
virtual void | print (const std::string &header, Output &out) const |
Virtual function to "pretty-print" this event. | |
Static Public Attributes | |
static const id_type | NO_ID = std::make_pair(0, -1) |
Constatn, default value for id_types. | |
Protected Member Functions | |
id_type | generateUniqueId () |
Generates an ID that is unique across ranks, components and events. | |
Protected Attributes | |
Link * | delivery_link |
Link used for delivery. | |
Friends | |
class | boost::serialization::access |
Base class for Events - Items sent across links to communicate between components.
Link* SST::Event::getDeliveryLink | ( | ) | [inline] |
LinkId_t SST::Event::getLinkId | ( | void | ) | const [inline] |
Gets the link id associated with this event.
For use by SST Core only
Referenced by SST::SyncD::exchangeLinkInitData(), SST::SyncD::execute(), and SST::Interfaces::StringEvent::StringEvent().
virtual void SST::Event::print | ( | const std::string & | header, | |
Output & | out | |||
) | const [inline, virtual] |
Virtual function to "pretty-print" this event.
Should be implemented by subclasses.
Reimplemented from SST::Activity.
Reimplemented in SST::NullEvent.
References SST::Activity::getDeliveryTime(), SST::Activity::getPriority(), and SST::Output::output().
void SST::Event::setDeliveryLink | ( | LinkId_t | id, | |
Link * | link | |||
) | [inline] |
Sets the link id used for delivery.
For use by SST Core only
References delivery_link.
Referenced by SST::Link::sendInitData(), and SST::Interfaces::StringEvent::StringEvent().