SST 16.1.0
Structural Simulation Toolkit
SST::Event Class Reference

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::MemPoolItem SST::Core::Serialization::serializable SST::Core::Serialization::serializable_base SST::BasicEvent< OpBundle > SST::BasicEvent< int > SST::BasicEvent< dataT > SST::CoreTest::MessageMesh::MessageEvent SST::CoreTestCheckpoint::coreTestCheckpointEvent SST::CoreTestComponent::coreTestComponentEvent SST::CoreTestMemPoolTest::MemPoolTestEvent1 SST::CoreTestMemPoolTest::MemPoolTestEvent2 SST::CoreTestMemPoolTest::MemPoolTestEvent3 SST::CoreTestMemPoolTest::MemPoolTestEvent4 SST::CoreTestMemPoolTest::MemPoolTestPerformanceEvent SST::CoreTestMessageGeneratorComponent::coreTestMessage SST::CoreTestPortModule::PortModuleAckEvent SST::CoreTestPortModule::PortModuleEvent SST::CoreTestSubComponent::SubCompEvent SST::EmptyEvent SST::Interfaces::StringEvent SST::Interfaces::TestEvent SST::NullEvent SST::pvt::DeliveryInfoCompEvent

Data Structures

class  less
 Class used to sort events during checkpointing. More...

Public Types

using HandlerBase = SSTHandlerBase<void, Event*>
 Base handler for event delivery.
template<typename classT, auto funcT, typename dataT = void>
using Handler = SSTHandler<void, Event*, classT, dataT, funcT>
 Used to create handlers for event delivery.
template<typename classT, auto funcT, typename dataT = void>
using Handler2 = SSTHandler<void, Event*, classT, dataT, funcT>
 Handler2 version which is now the same as Handler and is provided for backward compatibility until SST 17.
using id_type = std::pair<uint64_t, int>
 Type definition of unique identifiers.

Public Member Functions

virtual Event * clone ()
 Clones the event in for the case of a broadcast.
bool isEvent () const override final
bool isAction () const override final
void copyAllDeliveryInfo (const Activity *act) override final
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.
void setOrderTag (uint32_t tag)
 Sets the order tag.
uint32_t getOrderTag () const
 Return the order tag associated with this activity.
uint64_t getQueueOrder () const
 Returns the queue order associated with this activity.
std::string toString () const override
 Get a string represenation of the event.
void setQueueOrder (uint64_t order)
 Set a new Queue order.
Public Member Functions inherited from SST::Core::MemPoolItem
void * operator new (std::size_t size) noexcept
 Allocates memory from a memory pool for a new Activity.
void operator delete (void *ptr)
 Returns memory for this Activity to the appropriate memory pool.
virtual void print (const std::string &header, Output &out) const
Public Member Functions inherited from SST::Core::Serialization::serializable_base
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()
Static Public Attributes inherited from SST::Core::Serialization::serializable_base
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 (uint64_t priority)
 Set the priority of the Activity.
std::string getDeliveryTimeInfo () const
 Gets the delivery time info as a string.
 ImplementVirtualSerializable (SST::Activity)

Friends

class pvt::DeliveryInfoCompEvent
class Link
class NullEvent
class RankSync
class ThreadSync
class TimeVortex
class Simulation

Additional Inherited Members

Protected Types inherited from SST::Core::Serialization::serializable_base
enum  cxn_flag_t { ConstructorFlag }
Static Protected Member Functions inherited from SST::Core::Serialization::serializable_base
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

◆ Handler

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

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, &classname::function_name>(this)

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, &classname::function_name, dataT>(this, data)

◆ Handler2

template<typename classT, auto funcT, typename dataT = void>
using SST::Event::Handler2 = SSTHandler<void, Event*, classT, dataT, funcT>

Handler2 version which is now the same as Handler and is provided for backward compatibility until SST 17.

Deprecated
The name Handler2 has been deprecated and will be removed in SST 17. Please rename Handler2 to Handler.

Member Function Documentation

◆ clone()

DISABLE_WARN_MISSING_NORETURN Event * SST::Event::clone ( )
virtual

◆ copyAllDeliveryInfo()

void SST::Event::copyAllDeliveryInfo ( const Activity * act)
inlinefinaloverridevirtual

Reimplemented from SST::Activity.

◆ generateUniqueId()

REENABLE_WARNING Event::id_type SST::Event::generateUniqueId ( )
protected

Generates an ID that is unique across ranks, components and events.

References SST::Simulation::getSimulation().

◆ isAction()

bool SST::Event::isAction ( ) const
inlinefinaloverridevirtual

Implements SST::Activity.

◆ isEvent()

bool SST::Event::isEvent ( ) const
inlinefinaloverridevirtual

Implements SST::Activity.

◆ serialize_order()

void SST::Event::serialize_order ( SST::Core::Serialization::serializer & ser)
inlineoverridevirtual

Reimplemented from SST::Activity.


The documentation for this class was generated from the following files:
  • src/sst/core/event.h
  • src/sst/core/event.cc