7 #ifndef Svc_BufferAccumulatorComponentAc_HPP 8 #define Svc_BufferAccumulatorComponentAc_HPP 21 #if FW_ENABLE_TEXT_LOGGING == 1 183 #if FW_ENABLE_TEXT_LOGGING == 1 186 void set_eventOutText_OutputPort(
229 #if FW_PORT_SERIALIZATION 240 Fw::InputSerializePort* port
246 Fw::InputSerializePort* port
252 Fw::InputSerializePort* port
255 #if FW_ENABLE_TEXT_LOGGING == 1 258 void set_eventOutText_OutputPort(
260 Fw::InputSerializePort* port
268 Fw::InputSerializePort* port
274 Fw::InputSerializePort* port
279 #if FW_PORT_SERIALIZATION 290 Fw::InputSerializePort* port
296 Fw::InputSerializePort* port
302 Fw::InputSerializePort* port
326 const char* compName =
"" 399 #if FW_ENABLE_TEXT_LOGGING == 1 404 static constexpr
FwIndexType getNum_eventOutText_OutputPorts() {
478 #if FW_ENABLE_TEXT_LOGGING == 1 483 bool isConnected_eventOutText_OutputPort(
809 static void m_p_cmdIn_in(
824 static void m_p_bufferSendInFill_in(
831 static void m_p_bufferSendInReturn_in(
838 static void m_p_pingIn_in(
883 #if FW_ENABLE_TEXT_LOGGING == 1
bool isConnected_pingOut_OutputPort(FwIndexType portNum)
void bufferSendOutReturn_out(FwIndexType portNum, Fw::Buffer &fwBuffer)
Invoke output port bufferSendOutReturn.
virtual void BA_SetMode_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, Svc::BufferAccumulator_OpState mode)=0
static constexpr FwIndexType getNum_pingIn_InputPorts()
bool isConnected_bufferSendOutDrain_OutputPort(FwIndexType portNum)
FwIdType FwOpcodeType
The type of a command opcode.
virtual void bufferSendInReturn_preMsgHook(FwIndexType portNum, Fw::Buffer &fwBuffer)
Pre-message hook for async input port bufferSendInReturn.
static constexpr FwIndexType getNum_eventOut_OutputPorts()
PlatformSizeType FwSizeType
static constexpr FwIndexType getNum_cmdResponseOut_OutputPorts()
void pingIn_handlerBase(FwIndexType portNum, U32 key)
Handler base-class function for input port pingIn.
virtual ~BufferAccumulatorComponentBase()
Destroy BufferAccumulatorComponentBase object.
friend class BufferAccumulatorTester
Friend class tester implementation to support white-box testing.
void set_eventOut_OutputPort(FwIndexType portNum, Fw::InputLogPort *port)
Connect port to eventOut[portNum].
bool isConnected_cmdRegOut_OutputPort(FwIndexType portNum)
static constexpr FwIndexType getNum_bufferSendInReturn_InputPorts()
virtual void pingIn_preMsgHook(FwIndexType portNum, U32 key)
Pre-message hook for async input port pingIn.
Svc::InputPingPort * get_pingIn_InputPort(FwIndexType portNum)
static constexpr FwIndexType getNum_pingOut_OutputPorts()
void set_cmdResponseOut_OutputPort(FwIndexType portNum, Fw::InputCmdResponsePort *port)
Connect port to cmdResponseOut[portNum].
static constexpr FwIndexType getNum_bufferSendInFill_InputPorts()
void log_ACTIVITY_HI_BA_PartialDrainDone(U32 numDrained) const
Enum representing a command response.
void log_ACTIVITY_HI_BA_BufferAccepted() const
BufferAccumulatorComponentBase(const char *compName="")
Construct BufferAccumulatorComponentBase object.
void pingOut_out(FwIndexType portNum, U32 key)
Invoke output port pingOut.
Ran out of buffers while executing DrainBuffers command.
friend class BufferAccumulatorTesterBase
Friend class tester to support autocoded test harness.
void init()
Object initializer.
bool isConnected_eventOut_OutputPort(FwIndexType portNum)
void log_WARNING_LO_BA_NonBlockDrain(U32 numWillDrain, U32 numReqDrain) const
static constexpr FwIndexType getNum_bufferSendOutDrain_OutputPorts()
void set_bufferSendOutReturn_OutputPort(FwIndexType portNum, Fw::InputBufferSendPort *port)
Connect port to bufferSendOutReturn[portNum].
virtual void pingIn_handler(FwIndexType portNum, U32 key)=0
Handler for input port pingIn.
Channel ID for BA_NumQueuedBuffers.
void set_pingOut_OutputPort(FwIndexType portNum, Svc::InputPingPort *port)
Connect port to pingOut[portNum].
void log_WARNING_HI_BA_StillDraining(U32 numDrained, U32 numToDrain) const
void tlmWrite_BA_NumQueuedBuffers(U32 arg, Fw::Time _tlmTime=Fw::Time()) const
bool isConnected_cmdResponseOut_OutputPort(FwIndexType portNum)
virtual void bufferSendInFill_handler(FwIndexType portNum, Fw::Buffer &fwBuffer)=0
Handler for input port bufferSendInFill.
Finished DrainBuffers command.
void BA_DrainBuffers_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
Got DrainBuffers command while executing DrainBuffers command.
bool isConnected_timeCaller_OutputPort(FwIndexType portNum)
void regCommands()
Register commands with the Command Dispatcher.
static constexpr FwIndexType getNum_cmdRegOut_OutputPorts()
Drain the commanded number of buffers.
Not enough buffers to complete requested drain, and NOBLOCK was set; will only drain what we have...
void BA_SetMode_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
static constexpr FwIndexType getNum_cmdIn_InputPorts()
The Buffer Accumulator instance received a buffer when its queue was full. To avoid uncontrolled send...
virtual void BA_DrainBuffers_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command BA_DrainBuffers.
bool isConnected_bufferSendOutReturn_OutputPort(FwIndexType portNum)
void set_bufferSendOutDrain_OutputPort(FwIndexType portNum, Fw::InputBufferSendPort *port)
Connect port to bufferSendOutDrain[portNum].
static constexpr FwIndexType getNum_tlmOut_OutputPorts()
Got DrainBuffers command while in DRAIN mode.
Fw::InputBufferSendPort * get_bufferSendInReturn_InputPort(FwIndexType portNum)
void set_tlmOut_OutputPort(FwIndexType portNum, Fw::InputTlmPort *port)
Connect port to tlmOut[portNum].
virtual void bufferSendInFill_preMsgHook(FwIndexType portNum, Fw::Buffer &fwBuffer)
Pre-message hook for async input port bufferSendInFill.
void log_WARNING_HI_BA_AlreadyDraining() const
void set_timeCaller_OutputPort(FwIndexType portNum, Fw::InputTimePort *port)
Connect port to timeCaller[portNum].
Fw::InputCmdPort * get_cmdIn_InputPort(FwIndexType portNum)
PlatformIndexType FwIndexType
static constexpr FwIndexType getNum_bufferSendOutReturn_OutputPorts()
bool isConnected_tlmOut_OutputPort(FwIndexType portNum)
static constexpr FwIndexType getNum_timeCaller_OutputPorts()
Fw::InputBufferSendPort * get_bufferSendInFill_InputPort(FwIndexType portNum)
void log_WARNING_HI_BA_DrainStalled(U32 numDrained, U32 numToDrain) const
void log_WARNING_HI_BA_QueueFull() const
RateGroupDivider component implementation.
The Buffer Accumulator instance accepted and enqueued a buffer. To avoid uncontrolled sending of even...
void bufferSendOutDrain_out(FwIndexType portNum, Fw::Buffer &fwBuffer)
Invoke output port bufferSendOutDrain.
virtual void bufferSendInReturn_handler(FwIndexType portNum, Fw::Buffer &fwBuffer)=0
Handler for input port bufferSendInReturn.
void bufferSendInFill_handlerBase(FwIndexType portNum, Fw::Buffer &fwBuffer)
Handler base-class function for input port bufferSendInFill.
void set_cmdRegOut_OutputPort(FwIndexType portNum, Fw::InputCmdRegPort *port)
Connect port to cmdRegOut[portNum].
Auto-generated base for BufferAccumulator component.
void bufferSendInReturn_handlerBase(FwIndexType portNum, Fw::Buffer &fwBuffer)
Handler base-class function for input port bufferSendInReturn.
virtual void BA_DrainBuffers_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, U32 numToDrain, Svc::BufferAccumulator_BlockMode blockMode)=0
void cmdResponse_out(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdResponse response)
Emit command response.
virtual void BA_SetMode_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command BA_SetMode.