SST 15.0
Structural Simulation Toolkit
|
Attach Point to get notified when a handler starts and stops. More...
#include <ssthandler.h>
Public Member Functions | |
virtual uintptr_t | registerHandler (const AttachPointMetaData &mdata)=0 |
Function that will be called when a handler is registered with the tool implementing the attach point. | |
virtual void | beforeHandler (uintptr_t key, std::conditional_t< std::is_pointer_v< argT >, const std::remove_pointer_t< argT > *, const argT & > arg)=0 |
Function to be called before the handler is called. | |
virtual void | afterHandler (uintptr_t key, std::conditional_t< std::is_pointer_v< returnT >, const std::remove_pointer_t< returnT > *, const returnT & > ret_value)=0 |
Function to be called after the handler is called. | |
virtual void | serializeHandlerAttachPointKey (SST::Core::Serialization::serializer &UNUSED(ser), uintptr_t &UNUSED(key)) |
Function that will be called to handle the key returned from registerHandler, if the AttachPoint tool is serializable. | |
Attach Point to get notified when a handler starts and stops.
This class is used in conjuction with a Tool type base class to create various tool types to attach to the handler.
|
pure virtual |
Function to be called after the handler is called.
The key passed in is the uintptr_t returned from registerHandler()
key | uintptr_t returned from registerHandler() when handler was registered with the tool |
ret_value | value that was returned by the handler. If retunT is a pointer, this will be passed as a const pointer, if not, it will be passed as a const reference |
|
pure virtual |
Function to be called before the handler is called.
@key uintptr_t returned from registerHandler() when handler was registered with the tool
|
pure virtual |
Function that will be called when a handler is registered with the tool implementing the attach point.
The metadata passed in will be dependent on what type of tool this is attached to. The uintptr_t returned from this function will be passed into the beforeHandler() and afterHandler() functions.
mdata | Metadata to be passed into the tool |
|
inlinevirtual |
Function that will be called to handle the key returned from registerHandler, if the AttachPoint tool is serializable.
This is needed because the key is opaque to the Link, so it doesn't know how to handle it during serialization. During SIZE and PACK phases of serialization, the tool needs to store out any information that will be needed to recreate data that is reliant on the key. On UNPACK, the function needs to recreate any state and reinitialize the passed in key reference to the proper state to continue to make valid calls to beforeHandler() and afterHandler().
Since not all tools will be serializable, there is a default, empty implementation.
ser | Serializer to use for serialization |
key | Key that would be passed into the beforeHandler() and afterHandler() functions. |