12#ifndef WSFCOMMDATALINKLAYER_HPP
13#define WSFCOMMDATALINKLAYER_HPP
15#include "wsf_export.h"
36 bool Initialize(
double aSimTime)
override {
return true; }
37 bool ProcessInput(UtInput& aInput)
override;
42 bool Receive(
double aSimTime,
Comm* aXmtrPtr,
Message& aMessage,
bool& aNotifyNextLayer)
override;
44 bool Send(
double aSimTime,
size_t aLayerIndex,
Message& aMessage,
bool& aNotifyNextLayer)
override;
49 bool ProcessLayerMessage(
double aSimTime,
layer::Message aLayerMessage,
Message* aCommMessagePtr)
override;
55 virtual bool AddToQueue(
double aSimTime,
Message& aMessage,
size_t aPreviousAttempts = 0);
57 virtual bool ReadyToTransmit(
double aSimTime);
59 virtual bool TransmitComplete(
double aSimTime,
Message* aMessagePtr);
61 virtual bool TransmitFailed(
double aSimTime,
Message* aMessagePtr);
63 virtual bool PurgeQueue(
double aSimTime);
#define WSF_EXPORT
Definition WsfXIO_Export.hpp:35
Definition WsfComm.hpp:43
Definition WsfCommDatalinkLayer.hpp:28
double mPurgeInterval
The queue, where messages coming to this layer are placed.
Definition WsfCommDatalinkLayer.hpp:66
double mReTransmitDelay
How many transmissions attempts for each message.
Definition WsfCommDatalinkLayer.hpp:68
size_t mMaximumTransmitAttempts
How long in seconds a message can sit in the queue before being dropped.
Definition WsfCommDatalinkLayer.hpp:67
size_t mCurTransmissions
How long in seconds between retransmission attempts.
Definition WsfCommDatalinkLayer.hpp:69
bool Initialize(double aSimTime) override
Definition WsfCommDatalinkLayer.hpp:36
~DatalinkLayer() override=default
LayerImp * Clone() const override
Definition WsfCommDatalinkLayer.cpp:32
Queue mQueue
Definition WsfCommDatalinkLayer.hpp:65
A base class defining the interface for the implementation classes. (Implementor).
Definition WsfCommLayer.hpp:127
Definition WsfCommMessage.hpp:51
Definition WsfCommQueue.hpp:37
Definition WsfCommLayerMessage.hpp:36
Definition WsfComm.cpp:34
Function definitions for those who need run-time access to the version.
Definition WsfComm.cpp:32