7 #ifndef Svc_BufferAccumulatorComponentAc_HPP 8 #define Svc_BufferAccumulatorComponentAc_HPP 21 #if FW_ENABLE_TEXT_LOGGING == 1 24 #if !FW_DIRECT_PORT_CALLS 27 #if !FW_DIRECT_PORT_CALLS 123 #if !FW_DIRECT_PORT_CALLS 140 #if !FW_DIRECT_PORT_CALLS 171 #if !FW_DIRECT_PORT_CALLS 197 #if FW_ENABLE_TEXT_LOGGING == 1 200 void set_eventOutText_OutputPort(
221 #if !FW_DIRECT_PORT_CALLS 249 #if !FW_DIRECT_PORT_CALLS && FW_PORT_SERIALIZATION 260 Fw::InputSerializePort* port
266 Fw::InputSerializePort* port
272 Fw::InputSerializePort* port
275 #if FW_ENABLE_TEXT_LOGGING == 1 278 void set_eventOutText_OutputPort(
280 Fw::InputSerializePort* port
288 Fw::InputSerializePort* port
294 Fw::InputSerializePort* port
299 #if !FW_DIRECT_PORT_CALLS && FW_PORT_SERIALIZATION 310 Fw::InputSerializePort* port
316 Fw::InputSerializePort* port
322 Fw::InputSerializePort* port
346 const char* compName =
"" 419 #if FW_ENABLE_TEXT_LOGGING == 1 424 static constexpr
FwIndexType getNum_eventOutText_OutputPorts() {
498 #if FW_ENABLE_TEXT_LOGGING == 1 503 bool isConnected_eventOutText_OutputPort(
550 #if FW_DIRECT_PORT_CALLS 594 #if FW_DIRECT_PORT_CALLS 869 static void m_p_cmdIn_in(
884 static void m_p_bufferSendInFill_in(
891 static void m_p_bufferSendInReturn_in(
898 static void m_p_pingIn_in(
917 void cmdResponseOut_out(
933 #if FW_ENABLE_TEXT_LOGGING 936 void eventOutText_out(
960 #if !FW_DIRECT_PORT_CALLS 973 #if !FW_DIRECT_PORT_CALLS 992 #if !FW_DIRECT_PORT_CALLS 1009 #if FW_ENABLE_TEXT_LOGGING == 1 1024 #if !FW_DIRECT_PORT_CALLS
bool isConnected_tlmOut_OutputPort(FwIndexType portNum) const
virtual void BA_SetMode_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, Svc::BufferAccumulator_OpState mode)=0
static constexpr FwIndexType getNum_pingIn_InputPorts()
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()
Ran out of buffers while executing DrainBuffers command.
PlatformSizeType FwSizeType
static constexpr FwIndexType getNum_cmdResponseOut_OutputPorts()
void bufferSendOutReturn_out(FwIndexType portNum, Fw::Buffer &fwBuffer) const
Invoke output port bufferSendOutReturn.
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].
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].
Drain the commanded number of buffers.
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.
Finished DrainBuffers command.
bool isConnected_cmdResponseOut_OutputPort(FwIndexType portNum) const
friend class BufferAccumulatorTesterBase
Friend class tester to support autocoded test harness.
void init()
Object initializer.
void log_WARNING_LO_BA_NonBlockDrain(U32 numWillDrain, U32 numReqDrain) const
static constexpr FwIndexType getNum_bufferSendOutDrain_OutputPorts()
FwIdType FwEventIdType
The type of an event identifier.
void set_bufferSendOutReturn_OutputPort(FwIndexType portNum, Fw::InputBufferSendPort *port)
Connect port to bufferSendOutReturn[portNum].
Got DrainBuffers command while in DRAIN mode.
virtual void pingIn_handler(FwIndexType portNum, U32 key)=0
Handler for input port pingIn.
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
virtual void bufferSendInFill_handler(FwIndexType portNum, Fw::Buffer &fwBuffer)=0
Handler for input port bufferSendInFill.
void pingOut_out(FwIndexType portNum, U32 key) const
Invoke output port pingOut.
void BA_DrainBuffers_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
FwIdType FwChanIdType
The type of a telemetry channel identifier.
void regCommands()
Register commands with the Command Dispatcher.
Got DrainBuffers command while executing DrainBuffers command.
static constexpr FwIndexType getNum_cmdRegOut_OutputPorts()
void BA_SetMode_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
static constexpr FwIndexType getNum_cmdIn_InputPorts()
Enum representing event severity.
Not enough buffers to complete requested drain, and NOBLOCK was set; will only drain what we have...
void tlmWrite(FwChanIdType id, Fw::TlmBuffer &_tlmBuff, Fw::Time _tlmTime=Fw::Time()) const
bool isConnected_timeCaller_OutputPort(FwIndexType portNum) const
virtual void BA_DrainBuffers_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command BA_DrainBuffers.
void set_bufferSendOutDrain_OutputPort(FwIndexType portNum, Fw::InputBufferSendPort *port)
Connect port to bufferSendOutDrain[portNum].
Channel ID for BA_NumQueuedBuffers.
bool isConnected_eventOut_OutputPort(FwIndexType portNum) const
static constexpr FwIndexType getNum_tlmOut_OutputPorts()
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
void bufferSendOutDrain_out(FwIndexType portNum, Fw::Buffer &fwBuffer) const
Invoke output port bufferSendOutDrain.
static constexpr FwIndexType getNum_bufferSendOutReturn_OutputPorts()
bool isConnected_bufferSendOutReturn_OutputPort(FwIndexType portNum) const
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.
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.
The Buffer Accumulator instance received a buffer when its queue was full. To avoid uncontrolled send...
bool isConnected_cmdRegOut_OutputPort(FwIndexType portNum) const
The Buffer Accumulator instance accepted and enqueued a buffer. To avoid uncontrolled sending of even...
bool isConnected_bufferSendOutDrain_OutputPort(FwIndexType portNum) const
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
bool isConnected_pingOut_OutputPort(FwIndexType portNum) const
void cmdResponse_out(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdResponse response)
Emit command response.
void cmdIn_handlerBase(FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
Handler base-class function for input port cmdIn.
virtual void BA_SetMode_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command BA_SetMode.