WSF
wsf::comm::NetworkLayer Class Reference

#include <WsfCommNetworkLayer.hpp>

Inheritance diagram for wsf::comm::NetworkLayer:
Collaboration diagram for wsf::comm::NetworkLayer:

Classes

class  NetworkLayerMessageHeader

Public Member Functions

 NetworkLayer ()=default
 ~NetworkLayer () override=default
NetworkLayeroperator= (const NetworkLayer &aRhs)=delete
Public Member Functions inherited from wsf::comm::LayerImp
virtual ~LayerImp ()=default
void SetUpperLayer (Layer *aLayerPtr)
LayerGetUpperLayer () const
void SetLowerLayer (Layer *aLayerPtr)
LayerGetLowerLayer () const
bool DebugEnabled () const
 Determine if debugging is enabled.
void SetDebugEnabled (bool aDebugEnabled)
CommParent () const
void SetParent (Comm *aParentCommPtr)
void SetIndex (size_t aIndex)
size_t GetIndex () const

Common infrastructure methods.

LayerImpClone () const override
bool Initialize (double aSimTime) override
bool Initialize2 (double aSimTime) override
bool ProcessInput (UtInput &aInput) override

Send/Receive methods

bool Receive (double aSimTime, Comm *aXmtrPtr, Message &aMessage, bool &aNotifyNextLayer) override
bool Send (double aSimTime, size_t aLayerIndex, Message &aMessage, bool &aNotifyNextLayer) override

Comm event methods.

bool ProcessLayerMessage (double aSimTime, layer::Message aLayerMessage, Message *aCommMessagePtr) override
 Process a layer event.
 NetworkLayer (const NetworkLayer &aSrc)=default

Constructor & Destructor Documentation

◆ NetworkLayer() [1/2]

wsf::comm::NetworkLayer::NetworkLayer ( )
default

Referenced by Clone(), NetworkLayer(), and operator=().

◆ ~NetworkLayer()

wsf::comm::NetworkLayer::~NetworkLayer ( )
overridedefault

◆ NetworkLayer() [2/2]

wsf::comm::NetworkLayer::NetworkLayer ( const NetworkLayer & aSrc)
protecteddefault

References NetworkLayer().

Member Function Documentation

◆ Clone()

LayerImp * wsf::comm::NetworkLayer::Clone ( ) const
overridevirtual

Implements wsf::comm::LayerImp.

References NetworkLayer().

Referenced by operator=().

◆ Initialize()

bool wsf::comm::NetworkLayer::Initialize ( double aSimTime)
inlineoverridevirtual

Implements wsf::comm::LayerImp.

◆ Initialize2()

bool wsf::comm::NetworkLayer::Initialize2 ( double aSimTime)
overridevirtual

Reimplemented from wsf::comm::LayerImp.

◆ operator=()

NetworkLayer & wsf::comm::NetworkLayer::operator= ( const NetworkLayer & aRhs)
delete

References Clone(), and NetworkLayer().

◆ ProcessInput()

bool wsf::comm::NetworkLayer::ProcessInput ( UtInput & aInput)
inlineoverridevirtual

Implements wsf::comm::LayerImp.

◆ ProcessLayerMessage()

◆ Receive()

bool wsf::comm::NetworkLayer::Receive ( double aSimTime,
Comm * aXmtrPtr,
Message & aMessage,
bool & aNotifyNextLayer )
overridevirtual

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.

Implements wsf::comm::LayerImp.

References wsf::comm::layer::cNETWORK_FORWARD(), wsf::comm::LayerImp::GetIndex(), wsf::comm::Comm::GetRouter(), wsf::comm::Comm::GetSortedProtocols(), wsf::comm::LayerImp::Parent(), ProcessLayerMessage(), and wsf::comm::Message::SourceMessage().

◆ Send()

bool wsf::comm::NetworkLayer::Send ( double aSimTime,
size_t aLayerIndex,
Message & aMessage,
bool & aNotifyNextLayer )
overridevirtual

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.

Implements wsf::comm::LayerImp.

References wsf::comm::layer::cNETWORK_MULTIPLE_SEND(), wsf::comm::LayerImp::GetIndex(), wsf::comm::router::Router::SendData::GetMessages(), wsf::comm::Comm::GetRouter(), wsf::comm::Comm::GetSortedProtocols(), wsf::comm::LayerImp::Parent(), ProcessLayerMessage(), wsf::comm::router::Router::SendData::SetXmtr(), and success.


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