SST 16.0.0
Structural Simulation Toolkit
SST::ThreadSync Class Referenceabstract
Inheritance diagram for SST::ThreadSync:
SST::EmptyThreadSync SST::ThreadSyncDirectSkip SST::ThreadSyncSimpleSkip

Public Member Functions

virtual void before ()=0
virtual void after ()=0
virtual void execute ()=0
virtual void processLinkUntimedData ()=0
virtual void finalizeLinkConfigurations ()=0
virtual void prepareForComplete ()=0
virtual void setSignals (int end, int usr, int alrm)=0
 Set signals to exchange during sync.
virtual bool getSignals (int &end, int &usr, int &alrm)=0
 Return exchanged signals after sync.
virtual void setShutdownFlags (bool enter_shutdown, Simulation::ShutdownMode_t shutdown_mode)=0
 Set interactive flags to exchange during sync.
virtual void setFlags (bool enter_interactive, bool enter_shutdown, Simulation::ShutdownMode_t shutdown_mode)=0
virtual void getShutdownFlags (bool &enter_shutdown, Simulation::ShutdownMode_t &shutdown_mode)=0
 Return exchanged interactive flags after sync.
virtual void getFlags (bool &enter_interactive, bool &enter_shutdown, Simulation::ShutdownMode_t &shutdown_mode)=0
virtual void clearFlags ()=0
 Clear interactive flags before next run.
virtual SimTime_t getNextSyncTime ()
virtual void setRestartTime (SimTime_t time)
void setMaxPeriod (SimTime_t period)
SimTime_t getMaxPeriod ()
virtual void registerLink (Link *link)=0
 Register a Link which this Sync Object is responsible for.
virtual ActivityQueueregisterRemoteLink (int tid, Link *link)=0
virtual SimTime_t findSyncInterval ()

Static Public Member Functions

static SimTime_t updateMinimumLatency (SimTime_t lat=bit_util::type_max< SimTime_t >)

Protected Member Functions

void finalizeConfiguration (Link *link)
void prepareForCompleteInt (Link *link)
void sendUntimedData_sync (Link *link, Event *data)
void setLinkDeliveryInfo (Link *link, uintptr_t info)
LinkgetDeliveryLink (Event *ev)
SimTime_t getLatency (Link *link)
 Get the latency on the link in units of core atomic time base.
uintptr_t getDeliveryInfo (Link *link)
 Get the delivery_info for the link.
LinkgetPairLink (Link *link)
 Get the pair_link.

Protected Attributes

SimTime_t nextSyncTime
SimTime_t max_period

Member Function Documentation

◆ clearFlags()

virtual void SST::ThreadSync::clearFlags ( )
pure virtual

Clear interactive flags before next run.

Implemented in SST::EmptyThreadSync, SST::ThreadSyncDirectSkip, and SST::ThreadSyncSimpleSkip.

◆ finalizeLinkConfigurations()

virtual void SST::ThreadSync::finalizeLinkConfigurations ( )
pure virtual

◆ getShutdownFlags()

virtual void SST::ThreadSync::getShutdownFlags ( bool & enter_shutdown,
Simulation::ShutdownMode_t & shutdown_mode )
pure virtual

Return exchanged interactive flags after sync.

Implemented in SST::ThreadSyncDirectSkip, and SST::ThreadSyncSimpleSkip.

◆ getSignals()

virtual bool SST::ThreadSync::getSignals ( int & end,
int & usr,
int & alrm )
pure virtual

Return exchanged signals after sync.

Implemented in SST::EmptyThreadSync, SST::ThreadSyncDirectSkip, and SST::ThreadSyncSimpleSkip.

◆ processLinkUntimedData()

virtual void SST::ThreadSync::processLinkUntimedData ( )
pure virtual

◆ registerLink()

virtual void SST::ThreadSync::registerLink ( Link * link)
pure virtual

Register a Link which this Sync Object is responsible for.

Implemented in SST::ThreadSyncSimpleSkip.

◆ setShutdownFlags()

virtual void SST::ThreadSync::setShutdownFlags ( bool enter_shutdown,
Simulation::ShutdownMode_t shutdown_mode )
pure virtual

Set interactive flags to exchange during sync.

Implemented in SST::ThreadSyncDirectSkip, and SST::ThreadSyncSimpleSkip.

◆ setSignals()

virtual void SST::ThreadSync::setSignals ( int end,
int usr,
int alrm )
pure virtual

Set signals to exchange during sync.

Implemented in SST::ThreadSyncDirectSkip, and SST::ThreadSyncSimpleSkip.


The documentation for this class was generated from the following files:
  • src/sst/core/sync/syncManager.h
  • src/sst/core/sync/syncManager.cc