12#ifndef SST_CORE_PORTMODULE_H
13#define SST_CORE_PORTMODULE_H
15#include "sst/core/eli/elementinfo.h"
16#include "sst/core/event.h"
17#include "sst/core/link.h"
18#include "sst/core/serialization/serializable.h"
43 public Event::HandlerBase::InterceptPoint,
54 SST_ELI_DECLARE_INFO_EXTERN(
234 [[deprecated(
"Use of shared TimeConverter objects is deprecated. Use 'getCurrentSimTime(TimeConverter& timebase)' "
235 "(i.e., no pointer) instead.")]]
282#define SST_ELI_REGISTER_PORTMODULE(cls, lib, name, version, desc) \
283 SST_ELI_REGISTER_DERIVED(SST::PortModule,cls,lib,name,ELI_FORWARD_AS_ONE(version),desc)
Main component object for the simulation.
Definition baseComponent.h:62
Definition serializable.h:24
This class is basically a wrapper for objects to declare the order in which their members should be s...
Definition serializer.h:45
Definition attributeInfo.h:40
Definition paramsInfo.h:39
Base class for Events - Items sent across links to communicate between components.
Definition event.h:35
Attach point for inspecting, modifying or dropping events sent on the Link.
Definition link.h:72
Output object provides consistent method for outputting data to stdout, stderr and/or sst debug file.
Definition output.h:54
Parameter store.
Definition params.h:58
PortModules are modules that can be attached to the send and/or receive side of ports.
Definition portModule.h:46
virtual uintptr_t registerHandlerIntercept(const AttachPointMetaData &mdata) override
Function that will be called when a handler is registered with recieves (i.e.
Definition portModule.cc:39
virtual bool installOnReceive()
Called to determine if the PortModule should be installed on receives.
Definition portModule.h:196
virtual bool installOnSend()
Called to determine if the PortModule should be installed on sends.
Definition portModule.h:206
virtual void serializeHandlerInterceptPointKey(SST::Core::Serialization::serializer &ser, uintptr_t &key) override
Function that will be called to handle the key returned from registerHandlerIntercept,...
Definition portModule.cc:45
virtual void interceptHandler(uintptr_t key, Event *&data, bool &cancel) override=0
Function that will be called before the event handler to let the attach point intercept the data.
SimTime_t getCurrentSimTimeMicro() const
Utility function to return the time since the simulation began in microseconds.
Definition portModule.cc:121
virtual uintptr_t registerLinkAttachTool(const AttachPointMetaData &mdata) override
Function that will be called when a PortModule is registered on sends (i.e.
Definition portModule.cc:25
UnitAlgebra getCoreTimeBase() const
Get the core timebase.
Definition portModule.cc:67
SimTime_t getCurrentSimTimeMilli() const
Utility function to return the time since the simulation began in milliseconds.
Definition portModule.cc:127
UnitAlgebra getElapsedSimTime() const
Return the elapsed simulation time as a time.
Definition portModule.cc:85
virtual void serializeEventAttachPointKey(SST::Core::Serialization::serializer &ser, uintptr_t &key) override
Function that will be called to handle the key returned from registerLinkAttachTool,...
Definition portModule.cc:31
SimTime_t getCurrentSimCycle() const
Return the current simulation time as a cycle count.
Definition portModule.cc:73
SimTime_t getCurrentSimTimeNano() const
Utility function to return the time since the simulation began in nanoseconds.
Definition portModule.cc:115
int getCurrentPriority() const
Return the current priority.
Definition portModule.cc:79
Output & getSimulationOutput() const
Return the base simulation Output class instance.
Definition portModule.cc:91
virtual void eventSent(uintptr_t key, Event *&ev) override=0
Function that will be called when an event is sent on a link with registered PortModules.
SimTime_t getCurrentSimTime(TimeConverter *tc) const
Return the simulated time since the simulation began in units specified by the parameter.
Definition portModule.cc:103
A class to convert between a component's view of time and the core's view of time.
Definition timeConverter.h:28
Performs Unit math in full precision.
Definition unitAlgebra.h:107