12#ifndef WSFCOMMQUEUE_HPP
13#define WSFCOMMQUEUE_HPP
15#include "wsf_export.h"
22#include "UtCloneablePtr.hpp"
70 void SetMessage(
Message* aMessagePtr);
81 double mQueueTime{0.0};
82 ut::CloneablePtr<Message> mMessage{
nullptr};
84 EntryStatus mStatus{EntryStatus::cQUEUED};
106 size_t Size()
const {
return mQueue.size(); }
110 size_t SizeActiveEntries()
const;
113 bool Empty()
const {
return mQueue.empty(); }
117 bool EmptyActiveEntries()
const;
128 std::vector<Entry> Remove(
double aTime);
150 QueueType mQueueType{QueueType::cFIFO};
151 size_t mLimit{std::numeric_limits<size_t>::max()};
152 std::list<Entry> mQueue{};
bool operator==(int aId, const WsfStringInt &aRhs)
Equal relational operator for the case of an integer on the LHS and a StringId on the RHS.
Definition WsfStringId.hpp:69
#define WSF_EXPORT
Definition WsfXIO_Export.hpp:35
Definition WsfCommMessage.hpp:95
Definition WsfCommMessage.hpp:51
Definition WsfCommQueue.hpp:48
void SetCounter(size_t aCount)
Definition WsfCommQueue.hpp:75
void SetQueueTime(double aSimTime)
Definition WsfCommQueue.hpp:68
double GetQueueTime() const
Definition WsfCommQueue.hpp:67
Message * GetMessage() const
Definition WsfCommQueue.hpp:69
size_t GetCounter() const
Definition WsfCommQueue.hpp:74
Entry & operator=(const Entry &aRhs)=default
EntryStatus GetStatus() const
Definition WsfCommQueue.hpp:71
void DecrementCounter()
Definition WsfCommQueue.hpp:77
EntryStatus
Entry States.
Definition WsfCommQueue.hpp:52
void SetStatus(EntryStatus aStatus)
Definition WsfCommQueue.hpp:72
Entry(const Entry &aSrc)=default
void ResetCounter()
Definition WsfCommQueue.hpp:78
void IncrementCounter()
Definition WsfCommQueue.hpp:76
void Pop()
Definition WsfCommQueue.cpp:63
const Entry & Top() const
Definition WsfCommQueue.cpp:127
size_t GetLimit() const
Limits apply to all entries, regardless of status.
Definition WsfCommQueue.hpp:124
QueueType
Queue Types.
Definition WsfCommQueue.hpp:41
void SetLimit(size_t aLimit)
Definition WsfCommQueue.hpp:125
const Entry * Peek(const Message::Identifier &aIdentifier) const
Definition WsfCommQueue.cpp:191
QueueType GetQueueType() const
Definition WsfCommQueue.hpp:119
size_t Size() const
The number of entries, regardless of status.
Definition WsfCommQueue.hpp:106
bool Empty() const
If the queue is empty, regardless of entry status.
Definition WsfCommQueue.hpp:113
bool Push(const Entry &aEntry)
Definition WsfCommQueue.cpp:40
void SetQueueType(QueueType aType)
Definition WsfCommQueue.hpp:120
Definition WsfComm.cpp:34
Function definitions for those who need run-time access to the version.
Definition WsfComm.cpp:32