|
SST
14.0.0
StructuralSimulationToolkit
|
A OneShot Event class. More...
#include <oneshot.h>
Public Types | |
| using | HandlerBase = SSTHandlerBaseNoArgs< void > |
| Base handler for OneShot callbacks. | |
| template<typename classT , typename dataT = void> | |
| using | Handler = SSTHandlerNoArgs< void, classT, dataT > |
| Used to create handlers for clock. More... | |
Public Member Functions | |
| OneShot (TimeConverter *timeDelay, int priority=ONESHOTPRIORITY) | |
| Create a new One Shot for a specified time that will callback the handler function. More... | |
| bool | isScheduled () |
| Is OneShot scheduled. | |
| void | registerHandler (OneShot::HandlerBase *handler) |
| Add a handler to be called on this OneShot Event. | |
| void | print (const std::string &header, Output &out) const override |
| Print details about the OneShot. | |
| void | execute (void) override |
| Function which will be called when the time for this Activity comes to pass. More... | |
| void | scheduleOneShot () |
| SimTime_t | computeDeliveryTime () |
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. More... | |
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. More... | |
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 |
Data Fields | |
| NotSerializable(SST::OneShot) private typedef std::deque< std::pair< SimTime_t, HandlerList_t * > > | HandlerVectorMap_t |
| TimeConverter * | m_timeDelay |
| HandlerVectorMap_t | m_HandlerVectorMap |
| bool | m_scheduled |
Additional Inherited Members | |
Static Public Attributes inherited from SST::Core::Serialization::serializable | |
| static constexpr uint32_t | NullClsId = std::numeric_limits<uint32_t>::max() |
Protected Types inherited from SST::Core::Serialization::serializable | |
| enum | cxn_flag_t { ConstructorFlag } |
Protected Member Functions inherited from SST::Action | |
| void | endSimulation () |
| Called to signal to the Simulation object to end the simulation. | |
| void | endSimulation (SimTime_t end) |
| Called to signal to the Simulation object to end the simulation. More... | |
| void | serialize_order (SST::Core::Serialization::serializer &ser) override |
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. More... | |
| void | serialize_order (SST::Core::Serialization::serializer &ser) override |
| ImplementVirtualSerializable (SST::Activity) void setQueueOrder(uint64_t order) | |
| Set a new Queue order. | |
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) |
| using SST::OneShot::Handler = SSTHandlerNoArgs<void, classT, dataT> |
Used to create handlers for clock.
The callback function is expected to be in the form of:
void func()
In which case, the class is created with:
new OneShot::Handler<classname>(this, &classname::function_name)
Or, to add static data, the callback function is:
void func(dataT data)
and the class is created with:
new OneShot::Handler<classname, dataT>(this, &classname::function_name, data)
| SST::OneShot::OneShot | ( | TimeConverter * | timeDelay, |
| int | priority = ONESHOTPRIORITY |
||
| ) |
Create a new One Shot for a specified time that will callback the handler function.
Note: OneShot cannot be canceled, and will always callback after the timedelay.
References SST::Activity::setPriority().
|
overridevirtual |
Function which will be called when the time for this Activity comes to pass.
Implements SST::Activity.
References SST::Simulation_impl::getCurrentSimCycle(), and SST::Simulation_impl::getSimulation().