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;
50 virtual void setExit(Exit* ex) { exit = ex; }
51 virtual void setMaxPeriod(TimeConverter* period);
55 virtual uint64_t getDataSize()
const = 0;
57 virtual Action* getSlaveAction() = 0;
58 virtual Action* getMasterAction() = 0;
62 TimeConverter* max_period;
64 void sendInitData_sync(Link* link, Event* init_data);
65 void finalizeConfiguration(Link* link);
73 #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.
SyncBase defines the API for Sync objects, which are used to synchronize between MPI ranks in a simul...
Definition: syncBase.h:34
virtual int exchangeLinkInitData(int msg_count)=0
Cause an exchange of Initialization Data to occur.
SyncBase()
Create a new Sync object which fires with a specified period.
Definition: syncBase.h:37
virtual void finalizeLinkConfigurations()=0
Finish link configuration.