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

#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 init (const NATIVE_INT_TYPE instance=0)
 
void setup (NATIVE_UINT_TYPE mgrID, NATIVE_UINT_TYPE memID, Fw::MemAllocator &allocator, const BufferBins &bins)
 set up configuration More...
 
void cleanup ()
 
 ~BufferManagerComponentImpl ()
 
- Public Member Functions inherited from Svc::BufferManagerComponentBase
void init (NATIVE_INT_TYPE instance=0)
 Initialize BufferManagerComponentBase object. More...
 
Fw::InputBufferGetPortget_bufferGetCallee_InputPort (NATIVE_INT_TYPE portNum)
 
Fw::InputBufferSendPortget_bufferSendIn_InputPort (NATIVE_INT_TYPE portNum)
 
Svc::InputSchedPortget_schedIn_InputPort (NATIVE_INT_TYPE portNum)
 
void set_eventOut_OutputPort (NATIVE_INT_TYPE portNum, Fw::InputLogPort *port)
 Connect port to eventOut[portNum]. More...
 
void set_timeCaller_OutputPort (NATIVE_INT_TYPE portNum, Fw::InputTimePort *port)
 Connect port to timeCaller[portNum]. More...
 
void set_tlmOut_OutputPort (NATIVE_INT_TYPE 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_ZEROSIZEBUFFER = 0x1 }
 Event IDs. More...
 
enum  { EVENTID_NOBUFFSAVAILABLE_THROTTLE = 10 , EVENTID_ZEROSIZEBUFFER_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...
 
NATIVE_INT_TYPE getNum_bufferGetCallee_InputPorts () const
 
NATIVE_INT_TYPE getNum_bufferSendIn_InputPorts () const
 
NATIVE_INT_TYPE getNum_schedIn_InputPorts () const
 
NATIVE_INT_TYPE getNum_eventOut_OutputPorts () const
 
NATIVE_INT_TYPE getNum_timeCaller_OutputPorts () const
 
NATIVE_INT_TYPE getNum_tlmOut_OutputPorts () const
 
bool isConnected_eventOut_OutputPort (NATIVE_INT_TYPE portNum)
 
bool isConnected_timeCaller_OutputPort (NATIVE_INT_TYPE portNum)
 
bool isConnected_tlmOut_OutputPort (NATIVE_INT_TYPE portNum)
 
Fw::Buffer bufferGetCallee_handlerBase (NATIVE_INT_TYPE portNum, U32 size)
 Handler base-class function for input port bufferGetCallee. More...
 
void bufferSendIn_handlerBase (NATIVE_INT_TYPE portNum, Fw::Buffer &fwBuffer)
 Handler base-class function for input port bufferSendIn. More...
 
void schedIn_handlerBase (NATIVE_INT_TYPE portNum, NATIVE_UINT_TYPE context)
 Handler base-class function for input port schedIn. More...
 
void log_WARNING_HI_NoBuffsAvailable (U32 size)
 
void log_WARNING_HI_ZeroSizeBuffer ()
 
void log_WARNING_HI_NoBuffsAvailable_ThrottleClear ()
 Reset throttle value for NoBuffsAvailable. More...
 
void log_WARNING_HI_ZeroSizeBuffer_ThrottleClear ()
 Reset throttle value for ZeroSizeBuffer. 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 (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...
 

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 26 of file BufferManagerComponentImpl.cpp.

◆ ~BufferManagerComponentImpl()

Svc::BufferManagerComponentImpl::~BufferManagerComponentImpl ( )

Destroy object BufferManager

Definition at line 53 of file BufferManagerComponentImpl.cpp.

Member Function Documentation

◆ cleanup()

void Svc::BufferManagerComponentImpl::cleanup ( )

Definition at line 61 of file BufferManagerComponentImpl.cpp.

◆ init()

void Svc::BufferManagerComponentImpl::init ( const NATIVE_INT_TYPE  instance = 0)

Initialize object BufferManager

Parameters
instanceThe instance number

Definition at line 45 of file BufferManagerComponentImpl.cpp.

◆ setup()

void Svc::BufferManagerComponentImpl::setup ( NATIVE_UINT_TYPE  mgrID,
NATIVE_UINT_TYPE  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 148 of file BufferManagerComponentImpl.cpp.


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