18 numSuccessfulAllocations(0),
19 numFailedAllocations(0),
22 m_schedInQueued(false) {}
34 return this->getBuffer(portNum,
id, size, buffer);
40 const Fw::Success status = this->getBuffer(portNum,
id, size, buffer);
49 ++this->numDataProducts;
50 this->numBytes += buffer.
getSize();
56 void DpManager::schedIn_handler(
const FwIndexType portNum, U32 context) {
57 bool expected =
false;
58 if (this->m_schedInQueued.compare_exchange_strong(expected,
true)) {
63 void DpManager::schedInInternal_overflowHook() {
64 this->m_schedInQueued =
false;
67 void DpManager::schedInInternal_internalInterfaceHandler() {
68 this->m_schedInQueued =
false;
80 void DpManager ::CLEAR_EVENT_THROTTLE_cmdHandler(
FwOpcodeType opCode, U32 cmdSeq) {
96 ++this->numSuccessfulAllocations;
100 ++this->numFailedAllocations;
void cmdResponse_out(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdResponse response)
Emit command response.
FwIdType FwOpcodeType
The type of a command opcode.
void log_WARNING_HI_BufferAllocationFailed_ThrottleClear()
Reset throttle value for BufferAllocationFailed.
PlatformSizeType FwSizeType
void tlmWrite_NumSuccessfulAllocations(U32 arg, Fw::Time _tlmTime=Fw::Time())
~DpManager()
Destroy the DpManager.
void tlmWrite_NumFailedAllocations(U32 arg, Fw::Time _tlmTime=Fw::Time())
void productResponseOut_out(FwIndexType portNum, FwDpIdType id, const Fw::Buffer &buffer, const Fw::Success &status) const
Invoke output port productResponseOut.
void tlmWrite_NumDataProducts(U32 arg, Fw::Time _tlmTime=Fw::Time())
Command successfully executed.
Auto-generated base for DpManager component.
FwSizeType getSize() const
Fw::Buffer bufferGetOut_out(FwIndexType portNum, FwSizeType size) const
Invoke output port bufferGetOut.
void log_WARNING_HI_BufferAllocationFailed(FwDpIdType id)
FwIdType FwDpIdType
The type of a data product identifier.
void productSendOut_out(FwIndexType portNum, Fw::Buffer &fwBuffer) const
Invoke output port productSendOut.
PlatformIndexType FwIndexType
RateGroupDivider component implementation.
DpManager(const char *const compName)
Construct a DpManager.
void schedInInternal_internalInterfaceInvoke()
Internal interface base-class function for schedInInternal.
void tlmWrite_NumBytes(U64 arg, Fw::Time _tlmTime=Fw::Time())