F´ Flight Software - C/C++ Documentation  devel
A framework for building embedded system applications to NASA flight quality standards.
Svc::ComQueue Class Reference

#include <Svc/ComQueue/ComQueue.hpp>

Inheritance diagram for Svc::ComQueue:
Svc::ComQueueComponentBase Fw::ActiveComponentBase Fw::QueuedComponentBase Fw::PassiveComponentBase Fw::ObjBase

Classes

struct  QueueConfigurationEntry
 configuration data for each queue More...
 
struct  QueueConfigurationTable
 configuration table for each queue More...
 

Public Member Functions

 ComQueue (const char *const compName)
 
 ~ComQueue ()
 
void configure (QueueConfigurationTable queueConfig, NATIVE_UINT_TYPE allocationId, Fw::MemAllocator &allocator)
 
void cleanup ()
 
- Public Member Functions inherited from Svc::ComQueueComponentBase
void init (FwSizeType queueDepth, FwEnumStoreType instance=0)
 Initialize ComQueueComponentBase object. More...
 
Fw::InputBufferSendPortget_buffQueueIn_InputPort (FwIndexType portNum)
 
Fw::InputComPortget_comQueueIn_InputPort (FwIndexType portNum)
 
Fw::InputSuccessConditionPortget_comStatusIn_InputPort (FwIndexType portNum)
 
Svc::InputSchedPortget_run_InputPort (FwIndexType portNum)
 
void set_Log_OutputPort (FwIndexType portNum, Fw::InputLogPort *port)
 Connect port to Log[portNum]. More...
 
void set_Time_OutputPort (FwIndexType portNum, Fw::InputTimePort *port)
 Connect port to Time[portNum]. More...
 
void set_Tlm_OutputPort (FwIndexType portNum, Fw::InputTlmPort *port)
 Connect port to Tlm[portNum]. More...
 
void set_buffQueueSend_OutputPort (FwIndexType portNum, Fw::InputBufferSendPort *port)
 Connect port to buffQueueSend[portNum]. More...
 
void set_comQueueSend_OutputPort (FwIndexType portNum, Fw::InputComPort *port)
 Connect port to comQueueSend[portNum]. More...
 
void set_deallocate_OutputPort (FwIndexType portNum, Fw::InputBufferSendPort *port)
 Connect port to deallocate[portNum]. More...
 
- Public Member Functions inherited from Fw::ActiveComponentBase
void start (Os::Task::ParamType priority=Os::Task::TASK_DEFAULT, Os::Task::ParamType stackSize=Os::Task::TASK_DEFAULT, Os::Task::ParamType cpuAffinity=Os::Task::TASK_DEFAULT, Os::Task::ParamType identifier=Os::Task::TASK_DEFAULT)
 called by instantiator when task is to be started More...
 
void exit ()
 exit task in active component More...
 
Os::Task::Status join ()
 Join the thread. More...
 
 DEPRECATED (Os::Task::Status join(void **value_ptr), "Switch to .join()")
 Join to thread with discarded value_ptr. More...
 
- Public Member Functions inherited from Fw::PassiveComponentBase
void setIdBase (const U32)
 Set the ID base. More...
 
U32 getIdBase () const
 

Static Public Attributes

static const FwIndexType COM_PORT_COUNT = ComQueueComponentBase::NUM_COMQUEUEIN_INPUT_PORTS
 < Count of Fw::Com input ports and thus Fw::Com queues More...
 
static const FwIndexType BUFFER_PORT_COUNT = ComQueueComponentBase::NUM_BUFFQUEUEIN_INPUT_PORTS
 Total count of input buffer ports and thus total queues. More...
 
static const FwIndexType TOTAL_PORT_COUNT = COM_PORT_COUNT + BUFFER_PORT_COUNT
 

Additional Inherited Members

- Public Types inherited from Fw::ActiveComponentBase
enum  { ACTIVE_COMPONENT_EXIT }
 
- Public Types inherited from Fw::QueuedComponentBase
enum  MsgDispatchStatus { MSG_DISPATCH_OK , MSG_DISPATCH_EMPTY , MSG_DISPATCH_ERROR , MSG_DISPATCH_EXIT }
 
- Protected Types inherited from Svc::ComQueueComponentBase
enum  { NUM_BUFFQUEUEIN_INPUT_PORTS = 1 , NUM_COMQUEUEIN_INPUT_PORTS = 2 , NUM_COMSTATUSIN_INPUT_PORTS = 1 , NUM_RUN_INPUT_PORTS = 1 }
 Enumerations for numbers of typed input ports. More...
 
enum  { NUM_LOG_OUTPUT_PORTS = 1 , NUM_LOGTEXT_OUTPUT_PORTS = 1 , NUM_TIME_OUTPUT_PORTS = 1 , NUM_TLM_OUTPUT_PORTS = 1 }
 Enumerations for numbers of special output ports. More...
 
enum  { NUM_BUFFQUEUESEND_OUTPUT_PORTS = 1 , NUM_COMQUEUESEND_OUTPUT_PORTS = 1 , NUM_DEALLOCATE_OUTPUT_PORTS = 1 }
 Enumerations for numbers of typed output ports. More...
 
enum  { EVENTID_QUEUEOVERFLOW = 0x0 }
 Event IDs. More...
 
enum  { CHANNELID_COMQUEUEDEPTH = 0x0 , CHANNELID_BUFFQUEUEDEPTH = 0x1 }
 Channel IDs. More...
 
- Protected Types inherited from Fw::ActiveComponentBase
enum  Lifecycle { CREATED , DISPATCHING , FINALIZING , DONE }
 Tracks the lifecycle of the component. More...
 
- Protected Member Functions inherited from Svc::ComQueueComponentBase
 ComQueueComponentBase (const char *compName="")
 Construct ComQueueComponentBase object. More...
 
virtual ~ComQueueComponentBase ()
 Destroy ComQueueComponentBase object. More...
 
FwIndexType getNum_buffQueueIn_InputPorts () const
 
FwIndexType getNum_comQueueIn_InputPorts () const
 
FwIndexType getNum_comStatusIn_InputPorts () const
 
FwIndexType getNum_run_InputPorts () const
 
FwIndexType getNum_Log_OutputPorts () const
 
FwIndexType getNum_Time_OutputPorts () const
 
FwIndexType getNum_Tlm_OutputPorts () const
 
FwIndexType getNum_buffQueueSend_OutputPorts () const
 
FwIndexType getNum_comQueueSend_OutputPorts () const
 
FwIndexType getNum_deallocate_OutputPorts () const
 
bool isConnected_Log_OutputPort (FwIndexType portNum)
 
bool isConnected_Time_OutputPort (FwIndexType portNum)
 
bool isConnected_Tlm_OutputPort (FwIndexType portNum)
 
bool isConnected_buffQueueSend_OutputPort (FwIndexType portNum)
 
bool isConnected_comQueueSend_OutputPort (FwIndexType portNum)
 
bool isConnected_deallocate_OutputPort (FwIndexType portNum)
 
void buffQueueIn_handlerBase (FwIndexType portNum, Fw::Buffer &fwBuffer)
 Handler base-class function for input port buffQueueIn. More...
 
void comQueueIn_handlerBase (FwIndexType portNum, Fw::ComBuffer &data, U32 context)
 Handler base-class function for input port comQueueIn. More...
 
void comStatusIn_handlerBase (FwIndexType portNum, Fw::Success &condition)
 Handler base-class function for input port comStatusIn. More...
 
void run_handlerBase (FwIndexType portNum, U32 context)
 Handler base-class function for input port run. More...
 
virtual void buffQueueIn_preMsgHook (FwIndexType portNum, Fw::Buffer &fwBuffer)
 Pre-message hook for async input port buffQueueIn. More...
 
virtual void comQueueIn_preMsgHook (FwIndexType portNum, Fw::ComBuffer &data, U32 context)
 Pre-message hook for async input port comQueueIn. More...
 
virtual void comStatusIn_preMsgHook (FwIndexType portNum, Fw::Success &condition)
 Pre-message hook for async input port comStatusIn. More...
 
virtual void run_preMsgHook (FwIndexType portNum, U32 context)
 Pre-message hook for async input port run. More...
 
void buffQueueSend_out (FwIndexType portNum, Fw::Buffer &fwBuffer)
 Invoke output port buffQueueSend. More...
 
void comQueueSend_out (FwIndexType portNum, Fw::ComBuffer &data, U32 context)
 Invoke output port comQueueSend. More...
 
void deallocate_out (FwIndexType portNum, Fw::Buffer &fwBuffer)
 Invoke output port deallocate. More...
 
void log_WARNING_HI_QueueOverflow (Svc::QueueType queueType, U32 index)
 
void tlmWrite_comQueueDepth (const Svc::ComQueueDepth &arg, Fw::Time _tlmTime=Fw::Time())
 
void tlmWrite_buffQueueDepth (const Svc::BuffQueueDepth &arg, Fw::Time _tlmTime=Fw::Time())
 
Fw::Time getTime ()
 
- Protected Member Functions inherited from Fw::ActiveComponentBase
 ActiveComponentBase (const char *name)
 Constructor. More...
 
virtual ~ActiveComponentBase ()
 Destructor. More...
 
void init (NATIVE_INT_TYPE instance)
 initialization code More...
 
virtual void preamble ()
 A function that will be called before the event loop is entered. More...
 
MsgDispatchStatus dispatch ()
 The function that will dispatching messages. More...
 
virtual void finalizer ()
 A function that will be called after exiting the loop. More...
 
- Protected Member Functions inherited from Fw::QueuedComponentBase
 QueuedComponentBase (const char *name)
 Constructor. More...
 
virtual ~QueuedComponentBase ()
 Destructor. More...
 
void init (NATIVE_INT_TYPE instance)
 initialization function More...
 
Os::Queue::Status createQueue (FwSizeType depth, FwSizeType msgSize)
 
NATIVE_INT_TYPE getNumMsgsDropped ()
 return number of messages dropped More...
 
void incNumMsgDropped ()
 increment the number of messages dropped More...
 
- Protected Member Functions inherited from Fw::PassiveComponentBase
 PassiveComponentBase (const char *name)
 Named constructor. More...
 
virtual ~PassiveComponentBase ()
 Destructor. More...
 
void init (NATIVE_INT_TYPE instance)
 Initialization function. More...
 
NATIVE_INT_TYPE getInstance () const
 
- Protected Member Functions inherited from Fw::ObjBase
 ObjBase (const char *name)
 ObjBase constructor. More...
 
virtual ~ObjBase ()
 Destructor. More...
 
void init ()
 Object initializer. More...
 
- Protected Attributes inherited from Fw::ActiveComponentBase
Os::Task m_task
 task object for active component More...
 
- Protected Attributes inherited from Fw::QueuedComponentBase
Os::Queue m_queue
 queue object for active component More...
 

Detailed Description

Definition at line 23 of file ComQueue.hpp.

Constructor & Destructor Documentation

◆ ComQueue()

Svc::ComQueue::ComQueue ( const char *const  compName)

Construct object ComQueue

Parameters
compNameThe component name

Definition at line 24 of file ComQueue.cpp.

◆ ~ComQueue()

Svc::ComQueue::~ComQueue ( )

Destroy object ComQueue

Definition at line 36 of file ComQueue.cpp.

Member Function Documentation

◆ cleanup()

void Svc::ComQueue::cleanup ( )

Deallocate resources and cleanup ComQueue

Definition at line 38 of file ComQueue.cpp.

◆ configure()

void Svc::ComQueue::configure ( QueueConfigurationTable  queueConfig,
NATIVE_UINT_TYPE  allocationId,
Fw::MemAllocator allocator 
)

Configure the queue depths, priorities, and memory allocation for the component

Takes in the queue depth and priority per-port in order from Fw::Com through Fw::Buffer ports. Calculates the queue metadata stored m_prioritizedList and then sorts that list by priority.

Parameters
queueConfigTable of the configuration properties for the component
allocationIdIdentifier used when dealing with the Fw::MemAllocator
allocatorFw::MemAllocator used to acquire memory

Definition at line 45 of file ComQueue.cpp.

Member Data Documentation

◆ BUFFER_PORT_COUNT

const FwIndexType Svc::ComQueue::BUFFER_PORT_COUNT = ComQueueComponentBase::NUM_BUFFQUEUEIN_INPUT_PORTS
static

Total count of input buffer ports and thus total queues.

Definition at line 29 of file ComQueue.hpp.

◆ COM_PORT_COUNT

const FwIndexType Svc::ComQueue::COM_PORT_COUNT = ComQueueComponentBase::NUM_COMQUEUEIN_INPUT_PORTS
static

< Count of Fw::Com input ports and thus Fw::Com queues

Count of Fw::Buffer input ports and thus Fw::Buffer queues

Definition at line 26 of file ComQueue.hpp.

◆ TOTAL_PORT_COUNT

const FwIndexType Svc::ComQueue::TOTAL_PORT_COUNT = COM_PORT_COUNT + BUFFER_PORT_COUNT
static

Definition at line 32 of file ComQueue.hpp.


The documentation for this class was generated from the following files: