7 #ifndef Svc_BufferManagerComponentAc_HPP 8 #define Svc_BufferManagerComponentAc_HPP 18 #if FW_ENABLE_TEXT_LOGGING == 1 141 #if FW_ENABLE_TEXT_LOGGING == 1 144 void set_textEventOut_OutputPort(
163 #if FW_PORT_SERIALIZATION 174 Fw::InputSerializePort* port
177 #if FW_ENABLE_TEXT_LOGGING == 1 180 void set_textEventOut_OutputPort(
182 Fw::InputSerializePort* port
190 Fw::InputSerializePort* port
196 Fw::InputSerializePort* port
209 const char* compName =
"" 255 #if FW_ENABLE_TEXT_LOGGING == 1 260 static constexpr
FwIndexType getNum_textEventOut_OutputPorts() {
293 #if FW_ENABLE_TEXT_LOGGING == 1 298 bool isConnected_textEventOut_OutputPort(
484 static void m_p_bufferSendIn_in(
491 static void m_p_schedIn_in(
521 #if FW_ENABLE_TEXT_LOGGING == 1 541 std::atomic<FwIndexType> m_NoBuffsAvailableThrottle;
544 std::atomic<FwIndexType> m_NullEmptyBufferThrottle;
553 bool m_first_update_TotalBuffs =
true;
556 bool m_first_update_CurrBuffs =
true;
559 bool m_first_update_HiBuffs =
true;
562 bool m_first_update_NoBuffs =
true;
565 bool m_first_update_EmptyBuffs =
true;
574 U32 m_last_TotalBuffs = {};
577 U32 m_last_CurrBuffs = {};
580 U32 m_last_HiBuffs = {};
583 U32 m_last_NoBuffs = {};
586 U32 m_last_EmptyBuffs = {};
void log_WARNING_HI_NoBuffsAvailable(FwSizeType size)
static constexpr FwIndexType getNum_bufferGetCallee_InputPorts()
virtual ~BufferManagerComponentBase()
Destroy BufferManagerComponentBase object.
Throttle reset count for NullEmptyBuffer.
Channel ID for EmptyBuffs.
PlatformSizeType FwSizeType
void set_tlmOut_OutputPort(FwIndexType portNum, Fw::InputTlmPort *port)
Connect port to tlmOut[portNum].
Fw::Buffer bufferGetCallee_handlerBase(FwIndexType portNum, FwSizeType size)
Handler base-class function for input port bufferGetCallee.
static constexpr FwIndexType getNum_schedIn_InputPorts()
The BufferManager was unable to allocate a requested buffer.
virtual void bufferSendIn_handler(FwIndexType portNum, Fw::Buffer &fwBuffer)=0
Handler for input port bufferSendIn.
virtual void schedIn_handler(FwIndexType portNum, U32 context)=0
Handler for input port schedIn.
void init()
Object initializer.
Fw::InputBufferSendPort * get_bufferSendIn_InputPort(FwIndexType portNum)
void set_timeCaller_OutputPort(FwIndexType portNum, Fw::InputTimePort *port)
Connect port to timeCaller[portNum].
void log_WARNING_HI_NullEmptyBuffer()
void log_WARNING_HI_NoBuffsAvailable_ThrottleClear()
Reset throttle value for NoBuffsAvailable.
Fw::InputBufferGetPort * get_bufferGetCallee_InputPort(FwIndexType portNum)
static constexpr FwIndexType getNum_timeCaller_OutputPorts()
void schedIn_handlerBase(FwIndexType portNum, U32 context)
Handler base-class function for input port schedIn.
Channel ID for TotalBuffs.
static constexpr FwIndexType getNum_tlmOut_OutputPorts()
void tlmWrite_NoBuffs(U32 arg, Fw::Time _tlmTime=Fw::Time())
static constexpr FwIndexType getNum_bufferSendIn_InputPorts()
void tlmWrite_CurrBuffs(U32 arg, Fw::Time _tlmTime=Fw::Time())
void tlmWrite_HiBuffs(U32 arg, Fw::Time _tlmTime=Fw::Time())
friend class BufferManagerTester
Friend class tester implementation to support white-box testing.
virtual void unLock()
Unlock the guarded mutex.
bool isConnected_timeCaller_OutputPort(FwIndexType portNum)
void tlmWrite_TotalBuffs(U32 arg, Fw::Time _tlmTime=Fw::Time())
virtual void lock()
Lock the guarded mutex.
static constexpr FwIndexType getNum_eventOut_OutputPorts()
Svc::InputSchedPort * get_schedIn_InputPort(FwIndexType portNum)
void tlmWrite_EmptyBuffs(U32 arg, Fw::Time _tlmTime=Fw::Time())
friend class BufferManagerTesterBase
Friend class tester to support autocoded test harness.
PlatformIndexType FwIndexType
Channel ID for CurrBuffs.
void log_WARNING_HI_NullEmptyBuffer_ThrottleClear()
Reset throttle value for NullEmptyBuffer.
RateGroupDivider component implementation.
void set_eventOut_OutputPort(FwIndexType portNum, Fw::InputLogPort *port)
Connect port to eventOut[portNum].
virtual Fw::Buffer bufferGetCallee_handler(FwIndexType portNum, FwSizeType size)=0
Handler for input port bufferGetCallee.
bool isConnected_eventOut_OutputPort(FwIndexType portNum)
void bufferSendIn_handlerBase(FwIndexType portNum, Fw::Buffer &fwBuffer)
Handler base-class function for input port bufferSendIn.
Auto-generated base for BufferManager component.
Throttle reset count for NoBuffsAvailable.
The buffer manager received a null pointer and zero-sized buffer as a return. Probably undetected fai...
bool isConnected_tlmOut_OutputPort(FwIndexType portNum)
BufferManagerComponentBase(const char *compName="")
Construct BufferManagerComponentBase object.