WSF
WsfJTIDS_SlotGroup Class Reference

#include <WsfJTIDS_SlotGroup.hpp>

Classes

class  QueueEntry
class  TransmitHeartbeatEvent

Public Member Functions

 WsfJTIDS_SlotGroup (wsf::comm::SlotGroupLayerJTIDS *aLayerPtr, const std::string &aGroupName, const std::string &aSourceGroupName)
 Construct a slot group.
 WsfJTIDS_SlotGroup (const WsfJTIDS_SlotGroup &aSrc, wsf::comm::SlotGroupLayerJTIDS *aLayerPtr)
 Copy constructor.
virtual ~WsfJTIDS_SlotGroup ()
void AddToNetwork ()
 Add the slot group to the corresponding network.
double BeginTransmitEvent (double aSimTime)

Static Public Member Functions

static void ClearNetGroups ()

Callback lists.

UtCallbackListN< void(double, const WsfMessage *, int, WsfJTIDS_SlotGroup *)> MessageSent
WsfStringId GetNameId () const
 Return the name ID of the slot group.
int GetNetwork () const
 Return the JTIDS network number.
int GetTSEC () const
 Return the JTIDS TSEC value.
int GetMSEC () const
 Return the JTIDS MSEC value.
int GetNPG () const
 Return the Network Participation Group.
int GetSlotsPerFrame () const
 Returns the number of slots per frame.
int GetTransmitSlotsPerFrame () const
 Returns the number of slots allocated for transmitting.
double GetNextTransmitTime (double aSimTime)
bool DebugEnabled () const
wsf::comm::CommGetTerminal () const
WsfSimulationGetSimulation () const
bool Initialize (double aSimTime)
 Standard Initialize() method.
bool ProcessInput (UtInput &aInput)
 Standard ProcessInput() method.
void PurgeQueuedMessages ()
 Purge all queued messages in the slot group.
void RemoveFromNetwork ()
 Remove the slot group from the network.
bool SendMessage (double aSimTime, const WsfMessage &aMessage, WsfPlatform *aRecipientPtr, bool aSource=true)
 See WsfComm::SendMessage.
void StartupTransmitEvents (double aSimTime)
double TransmitCompleteEvent (double aSimTime)
void TransmitEventsStopped ()

Detailed Description

A 'slot group' represents a collection of associated Time Slot Blocks (TSBs)

JTIDS network design is accomplished by creating groups of TSBs called 'slot groups'. A slot group is a basically a subdivision of Network Participation Group (NPG) that represents the slots used to perform a function (transmit, receive, relay) within an NPG.

Constructor & Destructor Documentation

◆ WsfJTIDS_SlotGroup() [1/2]

WsfJTIDS_SlotGroup::WsfJTIDS_SlotGroup ( wsf::comm::SlotGroupLayerJTIDS * aLayerPtr,
const std::string & aGroupName,
const std::string & aSourceGroupName )

Construct a slot group.

References if().

Referenced by Initialize(), and WsfJTIDS_SlotGroup().

◆ WsfJTIDS_SlotGroup() [2/2]

WsfJTIDS_SlotGroup::WsfJTIDS_SlotGroup ( const WsfJTIDS_SlotGroup & aSrc,
wsf::comm::SlotGroupLayerJTIDS * aLayerPtr )

Copy constructor.

References WsfJTIDS_SlotGroup().

◆ ~WsfJTIDS_SlotGroup()

WsfJTIDS_SlotGroup::~WsfJTIDS_SlotGroup ( )
virtual

Member Function Documentation

◆ AddToNetwork()

void WsfJTIDS_SlotGroup::AddToNetwork ( )

Add the slot group to the corresponding network.

References DebugEnabled().

Referenced by Initialize().

◆ BeginTransmitEvent()

double WsfJTIDS_SlotGroup::BeginTransmitEvent ( double aSimTime)

Internal method called from WsfJTIDS_SlotGroup::CommEvent::Execute().

This is called to begin the transmission of the top message in the queue.

Returns
Simulation time at which transmission will be complete. If the value is less than zero then there was no message present.

References WsfSimulation::AddEvent(), DebugEnabled(), WsfPlatformPart::GetPlatform(), GetSimulation(), GetTerminal(), WsfObserver::MessageTransmitted(), WsfJTIDS_SlotGroup::QueueEntry::mMessagePtr, WsfJTIDS_SlotGroup::QueueEntry::mTransmitCompleteTime, platformPtr, and wsf::comm::Message::SourceMessage().

◆ ClearNetGroups()

void WsfJTIDS_SlotGroup::ClearNetGroups ( )
static

◆ DebugEnabled()

bool WsfJTIDS_SlotGroup::DebugEnabled ( ) const

◆ GetMSEC()

int WsfJTIDS_SlotGroup::GetMSEC ( ) const
inline

Return the JTIDS MSEC value.

Referenced by WsfL16::SlotParameters::Set().

◆ GetNameId()

WsfStringId WsfJTIDS_SlotGroup::GetNameId ( ) const
inline

Return the name ID of the slot group.

◆ GetNetwork()

int WsfJTIDS_SlotGroup::GetNetwork ( ) const
inline

Return the JTIDS network number.

Referenced by WsfL16::SlotParameters::Set().

◆ GetNextTransmitTime()

double WsfJTIDS_SlotGroup::GetNextTransmitTime ( double aSimTime)

◆ GetNPG()

int WsfJTIDS_SlotGroup::GetNPG ( ) const
inline

Return the Network Participation Group.

Referenced by WsfL16::SlotParameters::Set().

◆ GetSimulation()

◆ GetSlotsPerFrame()

int WsfJTIDS_SlotGroup::GetSlotsPerFrame ( ) const
inline

Returns the number of slots per frame.

Referenced by Initialize().

◆ GetTerminal()

wsf::comm::Comm * WsfJTIDS_SlotGroup::GetTerminal ( ) const

◆ GetTransmitSlotsPerFrame()

int WsfJTIDS_SlotGroup::GetTransmitSlotsPerFrame ( ) const
inline

Returns the number of slots allocated for transmitting.

◆ GetTSEC()

int WsfJTIDS_SlotGroup::GetTSEC ( ) const
inline

Return the JTIDS TSEC value.

Referenced by WsfL16::SlotParameters::Set().

◆ Initialize()

bool WsfJTIDS_SlotGroup::Initialize ( double aSimTime)

◆ ProcessInput()

bool WsfJTIDS_SlotGroup::ProcessInput ( UtInput & aInput)

Standard ProcessInput() method.

◆ PurgeQueuedMessages()

void WsfJTIDS_SlotGroup::PurgeQueuedMessages ( )

Purge all queued messages in the slot group.

Referenced by ~WsfJTIDS_SlotGroup().

◆ RemoveFromNetwork()

void WsfJTIDS_SlotGroup::RemoveFromNetwork ( )

Remove the slot group from the network.

References DebugEnabled().

Referenced by Initialize(), and ~WsfJTIDS_SlotGroup().

◆ SendMessage()

bool WsfJTIDS_SlotGroup::SendMessage ( double aSimTime,
const WsfMessage & aMessage,
WsfPlatform * aRecipientPtr,
bool aSource = true )

◆ StartupTransmitEvents()

void WsfJTIDS_SlotGroup::StartupTransmitEvents ( double aSimTime)

References GetSimulation().

◆ TransmitCompleteEvent()

double WsfJTIDS_SlotGroup::TransmitCompleteEvent ( double aSimTime)

Internal method called from WsfJTIDS_Terminal::CommEvent::Execute().

This is called to completed the transmission of the top message in the queue.

Returns
Simulation time at which next transmission for this group is to begin. If the value is less than zero no messages are pending.

References DebugEnabled(), GetSimulation(), GetTerminal(), WsfJTIDS_SlotGroup::QueueEntry::mBeginTransmitTime, MessageSent, WsfObserver::MessageTransmitEnded(), WsfJTIDS_SlotGroup::QueueEntry::mMessagePtr, WsfJTIDS_SlotGroup::QueueEntry::mTimeSlotsNeeded, WsfJTIDS_SlotGroup::QueueEntry::mTransmitCompleteTime, WsfJTIDS_SlotGroup::QueueEntry::mTransmitSlotIndex, and wsf::comm::Message::SourceMessage().

◆ TransmitEventsStopped()

Member Data Documentation

◆ MessageSent

UtCallbackListN<void(double, const WsfMessage*, int, WsfJTIDS_SlotGroup*)> WsfJTIDS_SlotGroup::MessageSent

Referenced by TransmitCompleteEvent().


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