12#ifndef SST_CORE_SYNC_SYNCQUEUE_H
13#define SST_CORE_SYNC_SYNCQUEUE_H
15#include "sst/core/activityQueue.h"
16#include "sst/core/rankInfo.h"
17#include "sst/core/threadsafe.h"
32class SyncQueue :
public ActivityQueue
35 explicit SyncQueue(
RankInfo to_rank) :
55class RankSyncQueue :
public SyncQueue
65 explicit RankSyncQueue(
RankInfo to_rank);
66 ~RankSyncQueue() =
default;
68 bool empty()
override;
80 uint64_t getDataSize() {
return buf_size + (activities.capacity() *
sizeof(
Activity*)); }
85 std::vector<Activity*> activities;
90class ThreadSyncQueue :
public SyncQueue
93 explicit ThreadSyncQueue(
RankInfo to_rank) :
99 bool empty()
override {
return activities.empty(); }
102 int size()
override {
return activities.size(); }
121 void clear() { activities.clear(); }
123 std::vector<Activity*>& getVector() {
return activities; }
126 std::vector<Activity*> activities;
Base class for all Activities in the SST Event Queue.
Definition activity.h:46
Definition threadsafe.h:132
bool empty() override
Returns true if the queue is empty.
Definition syncQueue.cc:42
void clear()
Clear elements from the queue.
Definition syncQueue.cc:82
int size() override
Returns the number of activities in the queue.
Definition syncQueue.cc:49
char * getData()
Accessor method to the internal queue.
Definition syncQueue.cc:89
Activity * pop() override
Remove and return the next activity.
Definition syncQueue.cc:63
Activity * front() override
Returns the next activity.
Definition syncQueue.cc:75
void insert(Activity *activity) override
Insert a new activity into the queue.
Definition syncQueue.cc:56
RankInfo getToRank()
Accessor method to get to_rank.
Definition syncQueue.h:42
Activity * front() override
Not supported.
Definition syncQueue.h:115
void insert(Activity *activity) override
Insert a new activity into the queue.
Definition syncQueue.h:112
bool empty() override
Returns true if the queue is empty.
Definition syncQueue.h:99
Activity * pop() override
Not supported.
Definition syncQueue.h:105
int size() override
Returns the number of activities in the queue.
Definition syncQueue.h:102