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

#include <Svc/BufferManager/BufferManagerComponentImpl.hpp>

Inheritance diagram for Svc::BufferManagerComponentImpl:
Svc::BufferManagerComponentBase Fw::PassiveComponentBase Fw::ObjBase

Classes

struct  BufferBin
 
struct  BufferBins
 

Public Member Functions

 BufferManagerComponentImpl (const char *const compName)
 
void setup (NATIVE_UINT_TYPE mgrID, FwEnumStoreType memID, Fw::MemAllocator &allocator, const BufferBins &bins)
 set up configuration More...
 
void cleanup ()
 
 ~BufferManagerComponentImpl ()
 
- Public Member Functions inherited from Svc::BufferManagerComponentBase
void init (FwEnumStoreType instance=0)
 Initialize BufferManagerComponentBase object. More...
 
Fw::InputBufferGetPortget_bufferGetCallee_InputPort (FwIndexType portNum)
 
Fw::InputBufferSendPortget_bufferSendIn_InputPort (FwIndexType portNum)
 
Svc::InputSchedPortget_schedIn_InputPort (FwIndexType portNum)
 
void set_eventOut_OutputPort (FwIndexType portNum, Fw::InputLogPort *port)
 Connect port to eventOut[portNum]. More...
 
void set_timeCaller_OutputPort (FwIndexType portNum, Fw::InputTimePort *port)
 Connect port to timeCaller[portNum]. More...
 
void set_tlmOut_OutputPort (FwIndexType portNum, Fw::InputTlmPort *port)
 Connect port to tlmOut[portNum]. More...
 
- Public Member Functions inherited from Fw::PassiveComponentBase
void setIdBase (const U32)
 Set the ID base. More...
 
U32 getIdBase () const
 

Additional Inherited Members

- Protected Types inherited from Svc::BufferManagerComponentBase
enum  { NUM_BUFFERGETCALLEE_INPUT_PORTS = 1, NUM_BUFFERSENDIN_INPUT_PORTS = 1, NUM_SCHEDIN_INPUT_PORTS = 1 }
 Enumerations for numbers of typed input ports. More...
 
enum  { NUM_EVENTOUT_OUTPUT_PORTS = 1, NUM_TEXTEVENTOUT_OUTPUT_PORTS = 1, NUM_TIMECALLER_OUTPUT_PORTS = 1, NUM_TLMOUT_OUTPUT_PORTS = 1 }
 Enumerations for numbers of special output ports. More...
 
enum  { EVENTID_NOBUFFSAVAILABLE = 0x0, EVENTID_NULLEMPTYBUFFER = 0x1 }
 Event IDs. More...
 
enum  { EVENTID_NOBUFFSAVAILABLE_THROTTLE = 10, EVENTID_NULLEMPTYBUFFER_THROTTLE = 10 }
 Event throttle values: sets initial value of countdown variables. More...
 
enum  {
  CHANNELID_TOTALBUFFS = 0x0, CHANNELID_CURRBUFFS = 0x1, CHANNELID_HIBUFFS = 0x2, CHANNELID_NOBUFFS = 0x3,
  CHANNELID_EMPTYBUFFS = 0x4
}
 Channel IDs. More...
 
- Protected Member Functions inherited from Svc::BufferManagerComponentBase
 BufferManagerComponentBase (const char *compName="")
 Construct BufferManagerComponentBase object. More...
 
virtual ~BufferManagerComponentBase ()
 Destroy BufferManagerComponentBase object. More...
 
FwIndexType getNum_bufferGetCallee_InputPorts () const
 
FwIndexType getNum_bufferSendIn_InputPorts () const
 
FwIndexType getNum_schedIn_InputPorts () const
 
FwIndexType getNum_eventOut_OutputPorts () const
 
FwIndexType getNum_timeCaller_OutputPorts () const
 
FwIndexType getNum_tlmOut_OutputPorts () const
 
bool isConnected_eventOut_OutputPort (FwIndexType portNum)
 
bool isConnected_timeCaller_OutputPort (FwIndexType portNum)
 
bool isConnected_tlmOut_OutputPort (FwIndexType portNum)
 
Fw::Buffer bufferGetCallee_handlerBase (FwIndexType portNum, U32 size)
 Handler base-class function for input port bufferGetCallee. More...
 
void bufferSendIn_handlerBase (FwIndexType portNum, Fw::Buffer &fwBuffer)
 Handler base-class function for input port bufferSendIn. More...
 
void schedIn_handlerBase (FwIndexType portNum, U32 context)
 Handler base-class function for input port schedIn. More...
 
void log_WARNING_HI_NoBuffsAvailable (U32 size)
 
void log_WARNING_HI_NullEmptyBuffer ()
 
void log_WARNING_HI_NoBuffsAvailable_ThrottleClear ()
 Reset throttle value for NoBuffsAvailable. More...
 
void log_WARNING_HI_NullEmptyBuffer_ThrottleClear ()
 Reset throttle value for NullEmptyBuffer. More...
 
void tlmWrite_TotalBuffs (U32 arg, Fw::Time _tlmTime=Fw::Time())
 
void tlmWrite_CurrBuffs (U32 arg, Fw::Time _tlmTime=Fw::Time())
 
void tlmWrite_HiBuffs (U32 arg, Fw::Time _tlmTime=Fw::Time())
 
void tlmWrite_NoBuffs (U32 arg, Fw::Time _tlmTime=Fw::Time())
 
void tlmWrite_EmptyBuffs (U32 arg, Fw::Time _tlmTime=Fw::Time())
 
Fw::Time getTime ()
 
virtual void lock ()
 Lock the guarded mutex. More...
 
virtual void unLock ()
 Unlock the guarded mutex. More...
 
- Protected Member Functions inherited from Fw::PassiveComponentBase
 PassiveComponentBase (const char *name)
 Named constructor. More...
 
virtual ~PassiveComponentBase ()
 Destructor. More...
 
void init (FwEnumStoreType instance)
 Initialization function. More...
 
FwEnumStoreType 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...
 

Detailed Description

Definition at line 56 of file BufferManagerComponentImpl.hpp.

Constructor & Destructor Documentation

◆ BufferManagerComponentImpl()

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

Construct object BufferManager

Parameters
compNameThe component name

Definition at line 27 of file BufferManagerComponentImpl.cpp.

◆ ~BufferManagerComponentImpl()

Svc::BufferManagerComponentImpl::~BufferManagerComponentImpl ( )

Destroy object BufferManager

Definition at line 46 of file BufferManagerComponentImpl.cpp.

Member Function Documentation

◆ cleanup()

void Svc::BufferManagerComponentImpl::cleanup ( )

Definition at line 54 of file BufferManagerComponentImpl.cpp.

◆ setup()

void Svc::BufferManagerComponentImpl::setup ( NATIVE_UINT_TYPE  mgrID,
FwEnumStoreType  memID,
Fw::MemAllocator allocator,
const BufferBins bins 
)

set up configuration

< don't care if it is recoverable since they are a pool of user buffers

Parameters
mgrIDID of manager for buffer checking
memIDMemory segment identifier
allocatormemory allocator. MUST be persistent for later deallocation. MUST persist past destructor if cleanup() not called explicitly.
binsSet of user bins

Definition at line 161 of file BufferManagerComponentImpl.cpp.


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