SST 15.0
Structural Simulation Toolkit
SST::CoreTestPortModule::TestPortModule Class Reference
Inheritance diagram for SST::CoreTestPortModule::TestPortModule:
SST::PortModule SST::Link::AttachPoint SST::Core::Serialization::serializable SST::Core::Serialization::serializable_base

Public Member Functions

 SST_ELI_REGISTER_PORTMODULE (TestPortModule, "coreTestElement", "portmodules.test", SST_ELI_ELEMENT_VERSION(0, 1, 0), "PortModule used for testing port module functionality") SST_ELI_DOCUMENT_PARAMS(
 
 TestPortModule (Params &params)
 
void eventSent (uintptr_t key, Event *&ev) override
 Function that will be called when an event is sent on a link with registered PortModules.
 
void interceptHandler (uintptr_t key, Event *&data, bool &cancel) override
 Function that will be called before the event handler to let the attach point intercept the data.
 
bool installOnReceive () override
 Called to determine if the PortModule should be installed on receives.
 
bool installOnSend () override
 Called to determine if the PortModule should be installed on sends.
 
- Public Member Functions inherited from SST::PortModule
 SST_ELI_DECLARE_INFO_EXTERN (ELI::ProvidesParams, ELI::ProvidesAttributes) PortModule()=default
 
virtual uintptr_t registerLinkAttachTool (const AttachPointMetaData &mdata) override
 Function that will be called when a PortModule is registered on sends (i.e.
 
virtual void serializeEventAttachPointKey (SST::Core::Serialization::serializer &ser, uintptr_t &key) override
 Function that will be called to handle the key returned from registerLinkAttachTool, if the AttachPoint tool is serializable.
 
virtual uintptr_t registerHandlerIntercept (const AttachPointMetaData &mdata) override
 Function that will be called when a handler is registered with recieves (i.e.
 
virtual void serializeHandlerInterceptPointKey (SST::Core::Serialization::serializer &ser, uintptr_t &key) override
 Function that will be called to handle the key returned from registerHandlerIntercept, if the AttachPoint tool is serializable.
 
- 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
 

Additional Inherited Members

- 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 Types inherited from SST::Core::Serialization::serializable_base
enum  cxn_flag_t { ConstructorFlag }
 
- Protected Member Functions inherited from SST::PortModule
UnitAlgebra getCoreTimeBase () const
 Get the core timebase.
 
SimTime_t getCurrentSimCycle () const
 Return the current simulation time as a cycle count.
 
int getCurrentPriority () const
 Return the current priority.
 
UnitAlgebra getElapsedSimTime () const
 Return the elapsed simulation time as a time.
 
OutputgetSimulationOutput () const
 Return the base simulation Output class instance.
 
SimTime_t getCurrentSimTime (TimeConverter *tc) const
 Return the simulated time since the simulation began in units specified by the parameter.
 
SimTime_t getCurrentSimTime (TimeConverter &tc) const
 
SimTime_t getCurrentSimTime (const std::string &base) const
 Return the simulated time since the simulation began in timebase specified.
 
SimTime_t getCurrentSimTimeNano () const
 Utility function to return the time since the simulation began in nanoseconds.
 
SimTime_t getCurrentSimTimeMicro () const
 Utility function to return the time since the simulation began in microseconds.
 
SimTime_t getCurrentSimTimeMilli () const
 Utility function to return the time since the simulation began in milliseconds.
 
- 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)
 

Member Function Documentation

◆ eventSent()

void TestPortModule::eventSent ( uintptr_t key,
Event *& ev )
overridevirtual

Function that will be called when an event is sent on a link with registered PortModules.

If ev is set to nullptr, then the event will not be delivered and the function should delete the original event.

NOTE: It is possible to delete the incoming event and replace it with a new event, if this is done, the new event MUST call copyAllDeliveryInfo(ev) or the event will not be properly processed.

Parameters
keyOpaque key returned from registerLinkAttachTool()
evEvent to intercept

Implements SST::PortModule.

◆ installOnReceive()

bool SST::CoreTestPortModule::TestPortModule::installOnReceive ( )
inlineoverridevirtual

Called to determine if the PortModule should be installed on receives.

Returns
true if PortModule should be installed on receives

Reimplemented from SST::PortModule.

◆ installOnSend()

bool SST::CoreTestPortModule::TestPortModule::installOnSend ( )
inlineoverridevirtual

Called to determine if the PortModule should be installed on sends.

NOTE: Installing PortModules on sends will have a noticeable impact on performance, consider architecting things so that you can intercept on receives.

Returns
true if PortModule should be installed on sends

Reimplemented from SST::PortModule.

◆ interceptHandler()

void TestPortModule::interceptHandler ( uintptr_t key,
Event *& data,
bool & cancel )
overridevirtual

Function that will be called before the event handler to let the attach point intercept the data.

The data can be modified, and if cancel is set to true, the handler will not be executed. If cancel is set to true, then the function should also delete the event and set data to nullptr.

NOTE: It is possible to delete the incoming event and replace the it with a new event, if this is done, the new event MUST call copyAllDeliveryInfo(ev) or the event will not be properly processed.

Parameters
keyKey returned from registerHandlerIntercept() function
dataEvent that is to be passed to the handler
[out]cancelSet to true if the handler delivery should be cancelled. If set to true, function must also delete the event

Implements SST::PortModule.


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