WSF
wsf::comm::LayerImp Class Referenceabstract

A base class defining the interface for the implementation classes. (Implementor). More...

#include <WsfCommLayer.hpp>

Inheritance diagram for wsf::comm::LayerImp:

Public Member Functions

virtual ~LayerImp ()=default

Upper/Lower layer methods, pushed down to this object for retrieval directly from

the implementation from the layer.

void SetUpperLayer (Layer *aLayerPtr)
LayerGetUpperLayer () const
void SetLowerLayer (Layer *aLayerPtr)
LayerGetLowerLayer () const
bool DebugEnabled () const
 Determine if debugging is enabled.
void SetDebugEnabled (bool aDebugEnabled)

Common infrastructure methods.

virtual LayerImpClone () const =0
virtual bool Initialize (double aSimTime)=0
virtual bool Initialize2 (double aSimTime)
virtual bool ProcessInput (UtInput &aInput)=0
virtual bool Receive (double aSimTime, Comm *aXmtrPtr, Message &aMessage, bool &aNotifyNextLayer)=0
virtual bool Send (double aSimTime, size_t aLayerIndex, Message &aMessage, bool &aNotifyNextLayer)=0
virtual bool ProcessLayerMessage (double aSimTime, layer::Message aLayerMessage, Message *aCommMessagePtr)=0

Methods to access the owning communication device.

CommParent () const
void SetParent (Comm *aParentCommPtr)

Indexing methods, pushed down to this object for retrieval directly from

the implementation from the layer.

void SetIndex (size_t aIndex)
size_t GetIndex () const

Detailed Description

A base class defining the interface for the implementation classes. (Implementor).

Constructor & Destructor Documentation

◆ ~LayerImp()

virtual wsf::comm::LayerImp::~LayerImp ( )
virtualdefault

Member Function Documentation

◆ Clone()

◆ DebugEnabled()

◆ GetIndex()

◆ GetLowerLayer()

Layer * wsf::comm::LayerImp::GetLowerLayer ( ) const
inline

◆ GetUpperLayer()

Layer * wsf::comm::LayerImp::GetUpperLayer ( ) const
inline

◆ Initialize()

◆ Initialize2()

virtual bool wsf::comm::LayerImp::Initialize2 ( double aSimTime)
inlinevirtual

Reimplemented in wsf::comm::NetworkLayer.

Referenced by wsf::comm::Layer::Initialize2().

◆ Parent()

◆ ProcessInput()

◆ ProcessLayerMessage()

virtual bool wsf::comm::LayerImp::ProcessLayerMessage ( double aSimTime,
layer::Message aLayerMessage,
Message * aCommMessagePtr )
pure virtual

Process a layer event.

Parameters
aSimTime[input] The current simulation time.
aLayerMessage[input] The layer message.
aCommMessagePtr[input] The message being processed.

Implemented in wsf::comm::ApplicationLayer, wsf::comm::DatalinkLayer, wsf::comm::NetworkLayer, wsf::comm::PhysicalLayer, wsf::comm::PhysicalLayerJTIDS, wsf::comm::PresentationLayer, wsf::comm::SessionLayer, wsf::comm::SlotGroupLayerJTIDS, and wsf::comm::TransportLayer.

References Parent(), and SetParent().

Referenced by wsf::comm::Layer::ProcessLayerMessage().

◆ Receive()

virtual bool wsf::comm::LayerImp::Receive ( double aSimTime,
Comm * aXmtrPtr,
Message & aMessage,
bool & aNotifyNextLayer )
pure virtual

Receive the message in this layer.

Parameters
aSimTime[input] The current simulation time.
aXmtrPtr[input] The comm device that sent the message.
aMessage[input] The communication message being received.
aNotifyNextLayer[output] True if the next layer above this one should immediately process this message.
Returns
'true' if layer successfully processed the message.

Implemented in wsf::comm::ApplicationLayer, wsf::comm::DatalinkLayer, wsf::comm::NetworkLayer, wsf::comm::PhysicalLayer, wsf::comm::PhysicalLayerJTIDS, wsf::comm::PresentationLayer, wsf::comm::SessionLayer, wsf::comm::SlotGroupLayerJTIDS, and wsf::comm::TransportLayer.

Referenced by wsf::comm::Layer::Receive().

◆ Send()

virtual bool wsf::comm::LayerImp::Send ( double aSimTime,
size_t aLayerIndex,
Message & aMessage,
bool & aNotifyNextLayer )
pure virtual

Send the message to this layer.

Parameters
aSimTime[input] The current simulation time.
aLayerIndex[input] The index in the protocol stack for this layer.
aMessage[input] The communication message being received.
aNotifyNextLayer[output] True if the next layer below this one should immediately process this message.
Returns
'true' if layer successfully processed the message.

Implemented in wsf::comm::ApplicationLayer, wsf::comm::DatalinkLayer, wsf::comm::NetworkLayer, wsf::comm::PhysicalLayer, wsf::comm::PhysicalLayerJTIDS, wsf::comm::PresentationLayer, wsf::comm::SessionLayer, wsf::comm::SlotGroupLayerJTIDS, and wsf::comm::TransportLayer.

Referenced by wsf::comm::Layer::Send().

◆ SetDebugEnabled()

void wsf::comm::LayerImp::SetDebugEnabled ( bool aDebugEnabled)
inline

Set the debug state.

Parameters
aDebugEnabledNew debug state

Referenced by wsf::comm::Layer::SetDebugEnabled().

◆ SetIndex()

void wsf::comm::LayerImp::SetIndex ( size_t aIndex)
inline

◆ SetLowerLayer()

void wsf::comm::LayerImp::SetLowerLayer ( Layer * aLayerPtr)
inline

◆ SetParent()

void wsf::comm::LayerImp::SetParent ( Comm * aParentCommPtr)

◆ SetUpperLayer()

void wsf::comm::LayerImp::SetUpperLayer ( Layer * aLayerPtr)
inline

The documentation for this class was generated from the following files:
Copyrights Multiple, All Rights Reserved