10 #if FW_ENABLE_TEXT_LOGGING
19 PRODUCTREQUESTIN_DPREQUEST,
22 CMD_CLEAR_EVENT_THROTTLE,
36 class ComponentIpcSerializableBuffer :
51 return sizeof(m_buff);
58 const U8* getBuffAddr()
const {
64 U8 m_buff[SERIALIZATION_SIZE];
88 this->m_cmdIn_InputPort[port].
init();
93 this->m_cmdIn_InputPort[port].
setPortNum(port);
95 #if FW_OBJECT_NAMES == 1
99 this->m_objName.toChar(),
102 this->m_cmdIn_InputPort[port].setObjName(portName.
toChar());
112 this->m_productGetIn_InputPort[port].
init();
117 this->m_productGetIn_InputPort[port].
setPortNum(port);
119 #if FW_OBJECT_NAMES == 1
123 this->m_objName.toChar(),
126 this->m_productGetIn_InputPort[port].setObjName(portName.
toChar());
136 this->m_productRequestIn_InputPort[port].
init();
137 this->m_productRequestIn_InputPort[port].
addCallComp(
139 m_p_productRequestIn_in
141 this->m_productRequestIn_InputPort[port].
setPortNum(port);
143 #if FW_OBJECT_NAMES == 1
147 this->m_objName.toChar(),
150 this->m_productRequestIn_InputPort[port].setObjName(portName.
toChar());
160 this->m_productSendIn_InputPort[port].
init();
165 this->m_productSendIn_InputPort[port].
setPortNum(port);
167 #if FW_OBJECT_NAMES == 1
171 this->m_objName.toChar(),
174 this->m_productSendIn_InputPort[port].setObjName(portName.
toChar());
184 this->m_schedIn_InputPort[port].
init();
189 this->m_schedIn_InputPort[port].
setPortNum(port);
191 #if FW_OBJECT_NAMES == 1
195 this->m_objName.toChar(),
198 this->m_schedIn_InputPort[port].setObjName(portName.
toChar());
208 this->m_cmdRegIn_OutputPort[port].
init();
210 #if FW_OBJECT_NAMES == 1
214 this->m_objName.toChar(),
217 this->m_cmdRegIn_OutputPort[port].setObjName(portName.
toChar());
227 this->m_cmdResponseOut_OutputPort[port].
init();
229 #if FW_OBJECT_NAMES == 1
233 this->m_objName.toChar(),
236 this->m_cmdResponseOut_OutputPort[port].setObjName(portName.
toChar());
246 this->m_eventOut_OutputPort[port].
init();
248 #if FW_OBJECT_NAMES == 1
252 this->m_objName.toChar(),
255 this->m_eventOut_OutputPort[port].setObjName(portName.
toChar());
259 #if FW_ENABLE_TEXT_LOGGING == 1
263 port < static_cast<FwIndexType>(this->getNum_textEventOut_OutputPorts());
266 this->m_textEventOut_OutputPort[port].
init();
268 #if FW_OBJECT_NAMES == 1
272 this->m_objName.toChar(),
275 this->m_textEventOut_OutputPort[port].setObjName(portName.
toChar());
286 this->m_timeGetOut_OutputPort[port].
init();
288 #if FW_OBJECT_NAMES == 1
292 this->m_objName.toChar(),
295 this->m_timeGetOut_OutputPort[port].setObjName(portName.
toChar());
305 this->m_tlmOut_OutputPort[port].
init();
307 #if FW_OBJECT_NAMES == 1
311 this->m_objName.toChar(),
314 this->m_tlmOut_OutputPort[port].setObjName(portName.
toChar());
324 this->m_bufferGetOut_OutputPort[port].
init();
326 #if FW_OBJECT_NAMES == 1
330 this->m_objName.toChar(),
333 this->m_bufferGetOut_OutputPort[port].setObjName(portName.
toChar());
343 this->m_productResponseOut_OutputPort[port].
init();
345 #if FW_OBJECT_NAMES == 1
349 this->m_objName.toChar(),
352 this->m_productResponseOut_OutputPort[port].setObjName(portName.
toChar());
362 this->m_productSendOut_OutputPort[port].
init();
364 #if FW_OBJECT_NAMES == 1
368 this->m_objName.toChar(),
371 this->m_productSendOut_OutputPort[port].setObjName(portName.
toChar());
377 static_cast<FwSizeType>(ComponentIpcSerializableBuffer::SERIALIZATION_SIZE)
397 return &this->m_cmdIn_InputPort[portNum];
412 return &this->m_productGetIn_InputPort[portNum];
423 return &this->m_productRequestIn_InputPort[portNum];
434 return &this->m_productSendIn_InputPort[portNum];
445 return &this->m_schedIn_InputPort[portNum];
463 this->m_cmdRegIn_OutputPort[portNum].
addCallPort(port);
477 this->m_cmdResponseOut_OutputPort[portNum].
addCallPort(port);
491 this->m_eventOut_OutputPort[portNum].
addCallPort(port);
494 #if FW_ENABLE_TEXT_LOGGING == 1
496 void DpManagerComponentBase ::
497 set_textEventOut_OutputPort(
503 portNum < this->getNum_textEventOut_OutputPorts(),
507 this->m_textEventOut_OutputPort[portNum].addCallPort(port);
523 this->m_timeGetOut_OutputPort[portNum].
addCallPort(port);
537 this->m_tlmOut_OutputPort[portNum].
addCallPort(port);
555 this->m_bufferGetOut_OutputPort[portNum].
addCallPort(port);
569 this->m_productResponseOut_OutputPort[portNum].
addCallPort(port);
583 this->m_productSendOut_OutputPort[portNum].
addCallPort(port);
586 #if FW_PORT_SERIALIZATION
595 Fw::InputSerializePort* port
603 this->m_cmdRegIn_OutputPort[portNum].registerSerialPort(port);
609 Fw::InputSerializePort* port
617 this->m_cmdResponseOut_OutputPort[portNum].registerSerialPort(port);
623 Fw::InputSerializePort* port
631 this->m_eventOut_OutputPort[portNum].registerSerialPort(port);
634 #if FW_ENABLE_TEXT_LOGGING == 1
636 void DpManagerComponentBase ::
637 set_textEventOut_OutputPort(
639 Fw::InputSerializePort* port
643 portNum < this->getNum_textEventOut_OutputPorts(),
647 this->m_textEventOut_OutputPort[portNum].registerSerialPort(port);
655 Fw::InputSerializePort* port
663 this->m_timeGetOut_OutputPort[portNum].registerSerialPort(port);
669 Fw::InputSerializePort* port
677 this->m_tlmOut_OutputPort[portNum].registerSerialPort(port);
682 #if FW_PORT_SERIALIZATION
691 Fw::InputSerializePort* port
699 this->m_productResponseOut_OutputPort[portNum].registerSerialPort(port);
705 Fw::InputSerializePort* port
713 this->m_productSendOut_OutputPort[portNum].registerSerialPort(port);
725 FW_ASSERT(this->m_cmdRegIn_OutputPort[0].isConnected());
727 this->m_cmdRegIn_OutputPort[0].
invoke(
738 Fw::ActiveComponentBase(compName)
741 this->m_first_update_NumSuccessfulAllocations =
true;
742 this->m_last_NumSuccessfulAllocations = 0;
745 this->m_first_update_NumFailedAllocations =
true;
746 this->m_last_NumFailedAllocations = 0;
749 this->m_first_update_NumDataProducts =
true;
750 this->m_last_NumDataProducts = 0;
753 this->m_first_update_NumBytes =
true;
754 this->m_last_NumBytes = 0;
756 this->m_BufferAllocationFailedThrottle = 0;
825 #if FW_ENABLE_TEXT_LOGGING == 1
828 getNum_textEventOut_OutputPorts()
const
881 return this->m_cmdRegIn_OutputPort[portNum].
isConnected();
892 return this->m_cmdResponseOut_OutputPort[portNum].
isConnected();
903 return this->m_eventOut_OutputPort[portNum].
isConnected();
906 #if FW_ENABLE_TEXT_LOGGING == 1
908 bool DpManagerComponentBase ::
909 isConnected_textEventOut_OutputPort(
FwIndexType portNum)
912 portNum < this->getNum_textEventOut_OutputPorts(),
916 return this->m_textEventOut_OutputPort[portNum].isConnected();
929 return this->m_timeGetOut_OutputPort[portNum].
isConnected();
940 return this->m_tlmOut_OutputPort[portNum].
isConnected();
955 return this->m_bufferGetOut_OutputPort[portNum].
isConnected();
966 return this->m_productResponseOut_OutputPort[portNum].
isConnected();
977 return this->m_productSendOut_OutputPort[portNum].
isConnected();
1032 ComponentIpcSerializableBuffer msg;
1036 _status = msg.serialize(
1045 _status = msg.serialize(portNum);
1052 _status = msg.serialize(
id);
1059 _status = msg.serialize(dataSize);
1094 ComponentIpcSerializableBuffer msg;
1098 _status = msg.serialize(
1107 _status = msg.serialize(portNum);
1114 _status = msg.serialize(
id);
1121 _status = msg.serialize(buffer);
1154 ComponentIpcSerializableBuffer msg;
1158 _status = msg.serialize(
1167 _status = msg.serialize(portNum);
1174 _status = msg.serialize(context);
1241 return this->m_bufferGetOut_OutputPort[portNum].
invoke(
1258 this->m_productResponseOut_OutputPort[portNum].
invoke(
1275 this->m_productSendOut_OutputPort[portNum].
invoke(
1291 FW_ASSERT(this->m_cmdResponseOut_OutputPort[0].isConnected());
1292 this->m_cmdResponseOut_OutputPort[0].
invoke(opCode, cmdSeq, response);
1313 ComponentIpcSerializableBuffer msg;
1317 _status = msg.serialize(
static_cast<FwEnumStoreType>(CMD_CLEAR_EVENT_THROTTLE));
1326 _status = msg.serialize(port);
1332 _status = msg.serialize(opCode);
1338 _status = msg.serialize(cmdSeq);
1344 _status = msg.serialize(args);
1391 this->m_BufferAllocationFailedThrottle++;
1396 if (this->m_timeGetOut_OutputPort[0].isConnected()) {
1397 this->m_timeGetOut_OutputPort[0].
invoke(_logTime);
1405 if (this->m_eventOut_OutputPort[0].isConnected()) {
1409 #if FW_AMPCS_COMPATIBLE
1418 #if FW_AMPCS_COMPATIBLE
1421 static_cast<U8>(
sizeof(U32))
1434 this->m_eventOut_OutputPort[0].
invoke(
1443 #if FW_ENABLE_TEXT_LOGGING
1444 if (this->m_textEventOut_OutputPort[0].isConnected()) {
1445 #if FW_OBJECT_NAMES == 1
1446 const char* _formatString =
1447 "(%s) %s: Buffer allocation failed for container id %" PRIu32
"";
1449 const char* _formatString =
1450 "%s: Buffer allocation failed for container id %" PRIu32
"";
1457 this->m_objName.toChar(),
1459 "BufferAllocationFailed ",
1463 this->m_textEventOut_OutputPort[0].invoke(
1481 this->m_BufferAllocationFailedThrottle = 0;
1495 if (not this->m_first_update_NumSuccessfulAllocations) {
1497 if (arg == this->m_last_NumSuccessfulAllocations) {
1501 this->m_last_NumSuccessfulAllocations = arg;
1505 this->m_first_update_NumSuccessfulAllocations =
false;
1506 this->m_last_NumSuccessfulAllocations = arg;
1509 if (this->m_tlmOut_OutputPort[0].isConnected()) {
1511 this->m_timeGetOut_OutputPort[0].isConnected() &&
1514 this->m_timeGetOut_OutputPort[0].
invoke(_tlmTime);
1528 this->m_tlmOut_OutputPort[0].
invoke(
1543 if (not this->m_first_update_NumFailedAllocations) {
1545 if (arg == this->m_last_NumFailedAllocations) {
1549 this->m_last_NumFailedAllocations = arg;
1553 this->m_first_update_NumFailedAllocations =
false;
1554 this->m_last_NumFailedAllocations = arg;
1557 if (this->m_tlmOut_OutputPort[0].isConnected()) {
1559 this->m_timeGetOut_OutputPort[0].isConnected() &&
1562 this->m_timeGetOut_OutputPort[0].
invoke(_tlmTime);
1576 this->m_tlmOut_OutputPort[0].
invoke(
1591 if (not this->m_first_update_NumDataProducts) {
1593 if (arg == this->m_last_NumDataProducts) {
1597 this->m_last_NumDataProducts = arg;
1601 this->m_first_update_NumDataProducts =
false;
1602 this->m_last_NumDataProducts = arg;
1605 if (this->m_tlmOut_OutputPort[0].isConnected()) {
1607 this->m_timeGetOut_OutputPort[0].isConnected() &&
1610 this->m_timeGetOut_OutputPort[0].
invoke(_tlmTime);
1624 this->m_tlmOut_OutputPort[0].
invoke(
1639 if (not this->m_first_update_NumBytes) {
1641 if (arg == this->m_last_NumBytes) {
1645 this->m_last_NumBytes = arg;
1649 this->m_first_update_NumBytes =
false;
1650 this->m_last_NumBytes = arg;
1653 if (this->m_tlmOut_OutputPort[0].isConnected()) {
1655 this->m_timeGetOut_OutputPort[0].isConnected() &&
1658 this->m_timeGetOut_OutputPort[0].
invoke(_tlmTime);
1672 this->m_tlmOut_OutputPort[0].
invoke(
1687 if (this->m_timeGetOut_OutputPort[0].isConnected()) {
1689 this->m_timeGetOut_OutputPort[0].
invoke(_time);
1704 ComponentIpcSerializableBuffer msg;
1727 MsgTypeEnum msgType =
static_cast<MsgTypeEnum
>(desMsg);
1729 if (msgType == DPMANAGER_COMPONENT_EXIT) {
1734 deserStatus = msg.deserialize(portNum);
1742 case PRODUCTREQUESTIN_DPREQUEST: {
1745 deserStatus = msg.deserialize(
id);
1753 deserStatus = msg.deserialize(dataSize);
1769 case PRODUCTSENDIN_DPSEND: {
1772 deserStatus = msg.deserialize(
id);
1796 case SCHEDIN_SCHED: {
1799 deserStatus = msg.deserialize(context);
1814 case CMD_CLEAR_EVENT_THROTTLE: {
1817 deserStatus = msg.deserialize(opCode);
1825 deserStatus = msg.deserialize(cmdSeq);
1844 #if FW_CMD_CHECK_RESIDUAL
1846 if (this->m_cmdResponseOut_OutputPort[0].isConnected()) {
1871 void DpManagerComponentBase ::
1883 const U32 idBase = callComp->
getIdBase();
1887 switch (opCode - idBase) {
1889 compPtr->CLEAR_EVENT_THROTTLE_cmdHandlerBase(
1904 m_p_productGetIn_in(
1914 return compPtr->productGetIn_handlerBase(
1922 void DpManagerComponentBase ::
1923 m_p_productRequestIn_in(
1932 compPtr->productRequestIn_handlerBase(
1939 void DpManagerComponentBase ::
1940 m_p_productSendIn_in(
1949 compPtr->productSendIn_handlerBase(
1956 void DpManagerComponentBase ::
1965 compPtr->schedIn_handlerBase(
uint8_t U8
8-bit unsigned integer
#define FW_NUM_ARRAY_ELEMENTS(a)
number of elements in an array
#define PRI_PlatformIntType
@ TB_NONE
No time base has been established.
PlatformAssertArgType FwAssertArgType
PlatformSizeType FwSizeType
PlatformQueuePriorityType FwQueuePriorityType
PlatformIndexType FwIndexType
#define FW_OBJECT_NAMES
Indicates whether or not object names are stored (more memory, can be used for tracking objects)
@ ACTIVE_COMPONENT_EXIT
message to exit active component task
Fw::SerializeStatus deserialize(Fw::SerializeBufferBase &buffer)
Enum representing a command response.
@ FORMAT_ERROR
Command failed to deserialize.
@ WARNING_HI
A serious but recoverable event.
void init()
Object initializer.
const char * toChar() const
void init()
Initialization function.
void addCallPort(InputBufferGetPort *callPort)
Register an input port.
Fw::Buffer invoke(U32 size)
Invoke a port interface.
void addCallPort(InputBufferSendPort *callPort)
Register an input port.
void invoke(Fw::Buffer &fwBuffer)
Invoke a port interface.
void init()
Initialization function.
void addCallPort(InputCmdRegPort *callPort)
Register an input port.
void invoke(FwOpcodeType opCode)
Invoke a port interface.
void init()
Initialization function.
void init()
Initialization function.
void addCallPort(InputCmdResponsePort *callPort)
Register an input port.
void invoke(FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse &response)
Invoke a port interface.
void invoke(FwDpIdType id, const Fw::Buffer &buffer, const Fw::Success &status)
Invoke a port interface.
void init()
Initialization function.
void addCallPort(InputDpResponsePort *callPort)
Register an input port.
void init()
Initialization function.
void invoke(FwEventIdType id, Fw::Time &timeTag, const Fw::LogSeverity &severity, Fw::LogBuffer &args)
Invoke a port interface.
void addCallPort(InputLogPort *callPort)
Register an input port.
void addCallPort(InputTimePort *callPort)
Register an input port.
void invoke(Fw::Time &time)
Invoke a port interface.
void init()
Initialization function.
void addCallPort(InputTlmPort *callPort)
Register an input port.
void init()
Initialization function.
void invoke(FwChanIdType id, Fw::Time &timeTag, Fw::TlmBuffer &val)
Invoke a port interface.
Os::Queue::Status createQueue(FwSizeType depth, FwSizeType msgSize)
Os::Queue m_queue
queue object for active component
@ MSG_DISPATCH_OK
Dispatch was normal.
@ MSG_DISPATCH_EXIT
A message was sent requesting an exit of the loop.
@ MSG_DISPATCH_ERROR
Errors dispatching messages.
NATIVE_UINT_TYPE SizeType
void resetDeser()
reset deserialization to beginning
Serializable::SizeType getBuffLeft() const
returns how much deserialization buffer is left
SerializeStatus deserialize(U8 &val)
deserialize 8-bit unsigned int
SerializeStatus serialize(U8 val)
serialize 8-bit unsigned int
void format(const CHAR *formatString,...)
write formatted string to buffer
Status send(const U8 *buffer, FwSizeType size, FwQueuePriorityType priority, BlockingType blockType) override
send a message into the queue through delegate
Status receive(U8 *destination, FwSizeType capacity, BlockingType blockType, FwSizeType &actualSize, FwQueuePriorityType &priority) override
receive a message from the queue through delegate
@ BLOCKING
Message will block until space is available.
@ NONBLOCKING
Message will return with status when space is unavailable.
Status
status returned from the queue send function
@ OP_OK
message sent/received okay
FwIndexType getNum_cmdRegIn_OutputPorts() const
bool isConnected_productResponseOut_OutputPort(FwIndexType portNum)
@ OPCODE_CLEAR_EVENT_THROTTLE
Clear event throttling.
bool isConnected_timeGetOut_OutputPort(FwIndexType portNum)
virtual void CLEAR_EVENT_THROTTLE_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command CLEAR_EVENT_THROTTLE.
void regCommands()
Register commands with the Command Dispatcher.
virtual void schedIn_preMsgHook(FwIndexType portNum, U32 context)
Pre-message hook for async input port schedIn.
FwIndexType getNum_timeGetOut_OutputPorts() const
void set_productSendOut_OutputPort(FwIndexType portNum, Fw::InputBufferSendPort *port)
Connect port to productSendOut[portNum].
void set_eventOut_OutputPort(FwIndexType portNum, Fw::InputLogPort *port)
Connect port to eventOut[portNum].
void tlmWrite_NumDataProducts(U32 arg, Fw::Time _tlmTime=Fw::Time())
@ EVENTID_BUFFERALLOCATIONFAILED
Buffer allocation failed.
void set_timeGetOut_OutputPort(FwIndexType portNum, Fw::InputTimePort *port)
Connect port to timeGetOut[portNum].
FwIndexType getNum_tlmOut_OutputPorts() const
void set_cmdResponseOut_OutputPort(FwIndexType portNum, Fw::InputCmdResponsePort *port)
Connect port to cmdResponseOut[portNum].
void set_tlmOut_OutputPort(FwIndexType portNum, Fw::InputTlmPort *port)
Connect port to tlmOut[portNum].
void log_WARNING_HI_BufferAllocationFailed_ThrottleClear()
Reset throttle value for BufferAllocationFailed.
FwIndexType getNum_productSendIn_InputPorts() const
DpManagerComponentBase(const char *compName="")
Construct DpManagerComponentBase object.
FwIndexType getNum_cmdIn_InputPorts() const
virtual Fw::Success productGetIn_handler(FwIndexType portNum, FwDpIdType id, FwSizeType dataSize, Fw::Buffer &buffer)=0
Handler for input port productGetIn.
void schedIn_handlerBase(FwIndexType portNum, U32 context)
Handler base-class function for input port schedIn.
FwIndexType getNum_productSendOut_OutputPorts() const
bool isConnected_bufferGetOut_OutputPort(FwIndexType portNum)
void tlmWrite_NumSuccessfulAllocations(U32 arg, Fw::Time _tlmTime=Fw::Time())
virtual void productRequestIn_preMsgHook(FwIndexType portNum, FwDpIdType id, FwSizeType dataSize)
Pre-message hook for async input port productRequestIn.
virtual void schedIn_handler(FwIndexType portNum, U32 context)=0
Handler for input port schedIn.
bool isConnected_productSendOut_OutputPort(FwIndexType portNum)
FwIndexType getNum_productResponseOut_OutputPorts() const
virtual ~DpManagerComponentBase()
Destroy DpManagerComponentBase object.
@ CHANNELID_NUMSUCCESSFULALLOCATIONS
Channel ID for NumSuccessfulAllocations.
@ CHANNELID_NUMBYTES
Channel ID for NumBytes.
@ CHANNELID_NUMFAILEDALLOCATIONS
Channel ID for NumFailedAllocations.
@ CHANNELID_NUMDATAPRODUCTS
Channel ID for NumDataProducts.
FwIndexType getNum_productGetIn_InputPorts() const
void cmdResponse_out(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdResponse response)
Emit command response.
Fw::InputDpSendPort * get_productSendIn_InputPort(FwIndexType portNum)
void CLEAR_EVENT_THROTTLE_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
FwIndexType getNum_cmdResponseOut_OutputPorts() const
void tlmWrite_NumBytes(U64 arg, Fw::Time _tlmTime=Fw::Time())
void set_cmdRegIn_OutputPort(FwIndexType portNum, Fw::InputCmdRegPort *port)
Connect port to cmdRegIn[portNum].
bool isConnected_eventOut_OutputPort(FwIndexType portNum)
void productRequestIn_handlerBase(FwIndexType portNum, FwDpIdType id, FwSizeType dataSize)
Handler base-class function for input port productRequestIn.
Fw::Success productGetIn_handlerBase(FwIndexType portNum, FwDpIdType id, FwSizeType dataSize, Fw::Buffer &buffer)
Handler base-class function for input port productGetIn.
Svc::InputSchedPort * get_schedIn_InputPort(FwIndexType portNum)
FwIndexType getNum_eventOut_OutputPorts() const
Fw::Buffer bufferGetOut_out(FwIndexType portNum, U32 size)
Invoke output port bufferGetOut.
virtual void productRequestIn_handler(FwIndexType portNum, FwDpIdType id, FwSizeType dataSize)=0
Handler for input port productRequestIn.
void set_productResponseOut_OutputPort(FwIndexType portNum, Fw::InputDpResponsePort *port)
Connect port to productResponseOut[portNum].
bool isConnected_cmdRegIn_OutputPort(FwIndexType portNum)
virtual void CLEAR_EVENT_THROTTLE_cmdHandler(FwOpcodeType opCode, U32 cmdSeq)=0
@ EVENTID_BUFFERALLOCATIONFAILED_THROTTLE
Throttle reset count for BufferAllocationFailed.
Fw::InputDpGetPort * get_productGetIn_InputPort(FwIndexType portNum)
virtual void productSendIn_handler(FwIndexType portNum, FwDpIdType id, const Fw::Buffer &buffer)=0
Handler for input port productSendIn.
bool isConnected_cmdResponseOut_OutputPort(FwIndexType portNum)
Fw::InputCmdPort * get_cmdIn_InputPort(FwIndexType portNum)
void set_bufferGetOut_OutputPort(FwIndexType portNum, Fw::InputBufferGetPort *port)
Connect port to bufferGetOut[portNum].
virtual void productSendIn_preMsgHook(FwIndexType portNum, FwDpIdType id, const Fw::Buffer &buffer)
Pre-message hook for async input port productSendIn.
void tlmWrite_NumFailedAllocations(U32 arg, Fw::Time _tlmTime=Fw::Time())
void log_WARNING_HI_BufferAllocationFailed(U32 id)
bool isConnected_tlmOut_OutputPort(FwIndexType portNum)
void productSendOut_out(FwIndexType portNum, Fw::Buffer &fwBuffer)
Invoke output port productSendOut.
void productResponseOut_out(FwIndexType portNum, FwDpIdType id, const Fw::Buffer &buffer, const Fw::Success &status)
Invoke output port productResponseOut.
FwIndexType getNum_schedIn_InputPorts() const
void productSendIn_handlerBase(FwIndexType portNum, FwDpIdType id, const Fw::Buffer &buffer)
Handler base-class function for input port productSendIn.
FwIndexType getNum_productRequestIn_InputPorts() const
Fw::InputDpRequestPort * get_productRequestIn_InputPort(FwIndexType portNum)
FwIndexType getNum_bufferGetOut_OutputPorts() const
SerializeStatus
forward declaration for string
@ FW_SERIALIZE_OK
Serialization/Deserialization operation was successful.
@ OP_OK
Operation succeeded.