12 #ifndef SST_CORE_SYNCBASE_H
13 #define SST_CORE_SYNCBASE_H
15 #include "sst/core/sst_types.h"
17 #include "sst/core/rankInfo.h"
41 virtual ActivityQueue*
registerLink(
const RankInfo& to_rank,
const RankInfo& from_rank, LinkId_t link_id, Link* link) = 0;
48 virtual void setExit(Exit* ex) { exit = ex; }
49 virtual void setMaxPeriod(TimeConverter* period);
51 virtual uint64_t getDataSize()
const = 0;
53 virtual Action* getSlaveAction() = 0;
54 virtual Action* getMasterAction() = 0;
58 TimeConverter* max_period;
60 void sendUntimedData_sync(Link* link, Event* data);
61 void finalizeConfiguration(Link* link);
69 #endif // SST_CORE_SYNCBASE_H
virtual ActivityQueue * registerLink(const RankInfo &to_rank, const RankInfo &from_rank, LinkId_t link_id, Link *link)=0
Register a Link which this Sync Object is responsible for.
virtual int exchangeLinkUntimedData(int msg_count)=0
Cause an exchange of Untimed Data to occur.
SyncBase defines the API for Sync objects, which are used to synchronize between MPI ranks in a simul...
Definition: syncBase.h:34
SyncBase()
Create a new Sync object which fires with a specified period.
Definition: syncBase.h:37
virtual void finalizeLinkConfigurations()=0
Finish link configuration.