7 #ifndef Svc_BufferAccumulatorComponentAc_HPP 8 #define Svc_BufferAccumulatorComponentAc_HPP 22 #if !FW_DIRECT_PORT_CALLS 25 #if !FW_DIRECT_PORT_CALLS 121 #if !FW_DIRECT_PORT_CALLS 138 #if !FW_DIRECT_PORT_CALLS 169 #if !FW_DIRECT_PORT_CALLS 195 #if FW_ENABLE_TEXT_LOGGING == 1 198 void set_eventOutText_OutputPort(
219 #if !FW_DIRECT_PORT_CALLS 247 #if !FW_DIRECT_PORT_CALLS && FW_PORT_SERIALIZATION 258 Fw::InputSerializePort* port
264 Fw::InputSerializePort* port
270 Fw::InputSerializePort* port
273 #if FW_ENABLE_TEXT_LOGGING == 1 276 void set_eventOutText_OutputPort(
278 Fw::InputSerializePort* port
286 Fw::InputSerializePort* port
292 Fw::InputSerializePort* port
297 #if !FW_DIRECT_PORT_CALLS && FW_PORT_SERIALIZATION 308 Fw::InputSerializePort* port
314 Fw::InputSerializePort* port
320 Fw::InputSerializePort* port
344 const char* compName =
"" 417 #if FW_ENABLE_TEXT_LOGGING == 1 422 static constexpr
FwIndexType getNum_eventOutText_OutputPorts() {
496 #if FW_ENABLE_TEXT_LOGGING == 1 501 bool isConnected_eventOutText_OutputPort(
548 #if FW_DIRECT_PORT_CALLS 592 #if FW_DIRECT_PORT_CALLS 867 static void m_p_cmdIn_in(
882 static void m_p_bufferSendInFill_in(
889 static void m_p_bufferSendInReturn_in(
896 static void m_p_pingIn_in(
915 void cmdResponseOut_out(
931 #if FW_ENABLE_TEXT_LOGGING 934 void eventOutText_out(
958 #if !FW_DIRECT_PORT_CALLS 971 #if !FW_DIRECT_PORT_CALLS 990 #if !FW_DIRECT_PORT_CALLS 1007 #if FW_ENABLE_TEXT_LOGGING == 1 1022 #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()
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].
Not enough buffers to complete requested drain, and NOBLOCK was set; will only drain what we have...
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.
Ran out of buffers while executing DrainBuffers command.
bool isConnected_cmdResponseOut_OutputPort(FwIndexType portNum) const
friend class BufferAccumulatorTesterBase
Friend class tester to support autocoded test harness.
Drain the commanded number of buffers.
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.
Finished DrainBuffers command.
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.
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.
The Buffer Accumulator instance accepted and enqueued a buffer. To avoid uncontrolled sending of even...
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.
void tlmWrite(FwChanIdType id, Fw::TlmBuffer &_tlmBuff, Fw::Time _tlmTime=Fw::Time()) const
Got DrainBuffers command while in DRAIN mode.
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].
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()
Channel ID for BA_NumQueuedBuffers.
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.
bool isConnected_cmdRegOut_OutputPort(FwIndexType portNum) const
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.
Got DrainBuffers command while executing DrainBuffers command.
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.
The Buffer Accumulator instance received a buffer when its queue was full. To avoid uncontrolled send...
virtual void BA_SetMode_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command BA_SetMode.