SST 16.0.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::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.
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)

Member Function Documentation

◆ clone()

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

Clones the event in for the case of a broadcast.

Reimplemented in SST::Interfaces::StringEvent.

References SST::Output::fatal(), SST::Simulation::getSimulation(), and SST::Simulation::getSimulationOutput().

◆ copyAllDeliveryInfo()

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

Reimplemented from SST::Activity.

◆ 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