SST  11.1.0
StructuralSimulationToolkit
SST::Event Class Referenceabstract

Base class for Events - Items sent across links to communicate between components. More...

#include <event.h>

Inheritance diagram for SST::Event:
SST::Activity SST::Core::Serialization::serializable SST::CoreTestComponent::coreTestComponentEvent SST::CoreTestMessageGeneratorComponent::coreTestMessage SST::Interfaces::StringEvent SST::Interfaces::TestEvent SST::NullEvent

Public Types

using HandlerBase = SSTHandlerBase< void, Event *, false >
 Base handler for event delivery.
 
template<typename classT , typename dataT = void>
using Handler = SSTHandler< void, Event *, false, classT, dataT >
 Used to create handlers for event delivery. More...
 
typedef std::pair< uint64_t, int > id_type
 Type definition of unique identifiers.
 

Public Member Functions

void execute (void) override
 Cause this event to fire.
 
virtual Eventclone ()
 Clones the event in for the case of a broadcast.
 
void setDeliveryInfo (LinkId_t id, HandlerBase *f)
 
void setDeliveryLink (LinkId_t id, Link *link)
 Sets the link id used for delivery. More...
 
LinkgetDeliveryLink ()
 Gets the link id used for delivery. More...
 
void setRemoteEvent ()
 For use by SST Core only.
 
LinkId_t getLinkId (void) const
 Gets the link id associated with this event. More...
 
void serialize_order (SST::Core::Serialization::serializer &ser) override
 
- Public Member Functions inherited from SST::Activity
void setDeliveryTime (SimTime_t time)
 Set the time for which this Activity should be delivered.
 
SimTime_t getDeliveryTime () const
 Return the time at which this Activity will be delivered.
 
int getPriority () const
 Return the Priority of this Activity.
 
std::string getDeliveryTimeInfo () const
 
virtual std::string toString () const
 Get a string represenation of the event. More...
 
virtual void print (const std::string &header, Output &out) const
 Generic print-print function for this Activity. More...
 
void setQueueOrder (uint64_t order)
 Set a new Queue order.
 
uint64_t getQueueOrder ()
 
int32_t getEnforceLinkOrder ()
 
- Public Member Functions inherited from SST::Core::Serialization::serializable
virtual const char * cls_name () const =0
 
virtual uint32_t cls_id () const =0
 
virtual std::string serialization_name () const =0
 

Static Public Attributes

static const id_type NO_ID = std::make_pair(0, -1)
 Constant, default value for id_types.
 
- Static Public Attributes inherited from SST::Core::Serialization::serializable
static constexpr uint32_t NullClsId = std::numeric_limits<uint32_t>::max()
 

Protected Member Functions

id_type generateUniqueId ()
 Generates an ID that is unique across ranks, components and events.
 
- Protected Member Functions inherited from SST::Activity
void setPriority (int priority)
 Set the priority of the Activity.
 

Protected Attributes

Linkdelivery_link
 Link used for delivery.
 
HandlerBasefunctor
 
- Protected Attributes inherited from SST::Activity
int32_t enforce_link_order
 

Additional Inherited Members

- Protected Types inherited from SST::Core::Serialization::serializable
enum  cxn_flag_t { ConstructorFlag }
 
- Static Protected Member Functions inherited from SST::Core::Serialization::serializable
static void serializable_abort (uint32_t line, const char *file, const char *func, const char *obj)
 

Detailed Description

Base class for Events - Items sent across links to communicate between components.

Member Typedef Documentation

template<typename classT , typename dataT = void>
using SST::Event::Handler = SSTHandler<void, Event*, false, classT, dataT>

Used to create handlers for event delivery.

The callback function is expected to be in the form of:

void func(Event* event)

In which case, the class is created with:

new Event::Handler<classname>(this, &classname::function_name)

Or, to add static data, the callback function is:

void func(Event* event, dataT data)

and the class is created with:

new Event::Handler<classname, dataT>(this, &classname::function_name, data)

Member Function Documentation

Link* SST::Event::getDeliveryLink ( )
inline

Gets the link id used for delivery.

For use by SST Core only

References delivery_link.

LinkId_t SST::Event::getLinkId ( void  ) const
inline
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::sendUntimedData().


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