11 #if FW_ENABLE_TEXT_LOGGING
20 BUFFERSENDIN_BUFFERSEND,
33 class ComponentIpcSerializableBuffer :
48 return sizeof(m_buff);
55 const U8* getBuffAddr()
const {
61 U8 m_buff[SERIALIZATION_SIZE];
85 this->m_bufferSendIn_InputPort[port].
init();
90 this->m_bufferSendIn_InputPort[port].
setPortNum(port);
92 #if FW_OBJECT_NAMES == 1
107 this->m_bufferSendIn_InputPort[port].setObjName(portName);
117 this->m_pingIn_InputPort[port].
init();
122 this->m_pingIn_InputPort[port].
setPortNum(port);
124 #if FW_OBJECT_NAMES == 1
139 this->m_pingIn_InputPort[port].setObjName(portName);
143 #if FW_ENABLE_TEXT_LOGGING == 1
147 port < static_cast<PlatformIntType>(this->getNum_LogText_OutputPorts());
150 this->m_LogText_OutputPort[port].
init();
152 #if FW_OBJECT_NAMES == 1
167 this->m_LogText_OutputPort[port].setObjName(portName);
178 this->m_eventOut_OutputPort[port].
init();
180 #if FW_OBJECT_NAMES == 1
195 this->m_eventOut_OutputPort[port].setObjName(portName);
205 this->m_timeCaller_OutputPort[port].
init();
207 #if FW_OBJECT_NAMES == 1
222 this->m_timeCaller_OutputPort[port].setObjName(portName);
232 this->m_tlmOut_OutputPort[port].
init();
234 #if FW_OBJECT_NAMES == 1
249 this->m_tlmOut_OutputPort[port].setObjName(portName);
259 this->m_bufferSendOut_OutputPort[port].
init();
261 #if FW_OBJECT_NAMES == 1
276 this->m_bufferSendOut_OutputPort[port].setObjName(portName);
286 this->m_pingOut_OutputPort[port].
init();
288 #if FW_OBJECT_NAMES == 1
303 this->m_pingOut_OutputPort[port].setObjName(portName);
309 ComponentIpcSerializableBuffer::SERIALIZATION_SIZE
329 return &this->m_bufferSendIn_InputPort[portNum];
340 return &this->m_pingIn_InputPort[portNum];
347 #if FW_ENABLE_TEXT_LOGGING == 1
349 void FileUplinkComponentBase ::
350 set_LogText_OutputPort(
356 portNum < this->getNum_LogText_OutputPorts(),
360 this->m_LogText_OutputPort[portNum].addCallPort(port);
376 this->m_eventOut_OutputPort[portNum].
addCallPort(port);
390 this->m_timeCaller_OutputPort[portNum].
addCallPort(port);
404 this->m_tlmOut_OutputPort[portNum].
addCallPort(port);
422 this->m_bufferSendOut_OutputPort[portNum].
addCallPort(port);
436 this->m_pingOut_OutputPort[portNum].
addCallPort(port);
439 #if FW_PORT_SERIALIZATION
445 #if FW_ENABLE_TEXT_LOGGING == 1
447 void FileUplinkComponentBase ::
448 set_LogText_OutputPort(
450 Fw::InputSerializePort* port
454 portNum < this->getNum_LogText_OutputPorts(),
458 this->m_LogText_OutputPort[portNum].registerSerialPort(port);
466 Fw::InputSerializePort* port
474 this->m_eventOut_OutputPort[portNum].registerSerialPort(port);
480 Fw::InputSerializePort* port
488 this->m_timeCaller_OutputPort[portNum].registerSerialPort(port);
494 Fw::InputSerializePort* port
502 this->m_tlmOut_OutputPort[portNum].registerSerialPort(port);
507 #if FW_PORT_SERIALIZATION
516 Fw::InputSerializePort* port
524 this->m_bufferSendOut_OutputPort[portNum].registerSerialPort(port);
530 Fw::InputSerializePort* port
538 this->m_pingOut_OutputPort[portNum].registerSerialPort(port);
549 Fw::ActiveComponentBase(compName)
551 this->m_FileWriteErrorThrottle = 0;
552 this->m_InvalidReceiveModeThrottle = 0;
553 this->m_PacketOutOfBoundsThrottle = 0;
554 this->m_PacketOutOfOrderThrottle = 0;
583 #if FW_ENABLE_TEXT_LOGGING == 1
586 getNum_LogText_OutputPorts()
const
631 #if FW_ENABLE_TEXT_LOGGING == 1
633 bool FileUplinkComponentBase ::
637 portNum < this->getNum_LogText_OutputPorts(),
641 return this->m_LogText_OutputPort[portNum].isConnected();
654 return this->m_eventOut_OutputPort[portNum].
isConnected();
665 return this->m_timeCaller_OutputPort[portNum].
isConnected();
676 return this->m_tlmOut_OutputPort[portNum].
isConnected();
691 return this->m_bufferSendOut_OutputPort[portNum].
isConnected();
702 return this->m_pingOut_OutputPort[portNum].
isConnected();
728 ComponentIpcSerializableBuffer msg;
732 _status = msg.serialize(
741 _status = msg.serialize(portNum);
748 _status = msg.serialize(fwBuffer);
781 ComponentIpcSerializableBuffer msg;
785 _status = msg.serialize(
794 _status = msg.serialize(portNum);
801 _status = msg.serialize(key);
857 this->m_bufferSendOut_OutputPort[portNum].
invoke(
872 this->m_pingOut_OutputPort[portNum].
invoke(
890 if (this->m_timeCaller_OutputPort[0].isConnected()) {
891 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
899 if (this->m_eventOut_OutputPort[0].isConnected()) {
903 #if FW_AMPCS_COMPATIBLE
912 _status = fileName.
serialize(_logBuff, 40);
918 #if FW_AMPCS_COMPATIBLE
921 static_cast<U8>(
sizeof(U32))
934 #if FW_AMPCS_COMPATIBLE
937 static_cast<U8>(
sizeof(U32))
950 this->m_eventOut_OutputPort[0].
invoke(
959 #if FW_ENABLE_TEXT_LOGGING
960 if (this->m_LogText_OutputPort[0].isConnected()) {
961 #if FW_OBJECT_NAMES == 1
962 const char* _formatString =
963 "(%s) %s: Bad checksum value during receipt of file %s: computed 0x%" PRIx32
", read 0x%" PRIx32
"";
965 const char* _formatString =
966 "%s: Bad checksum value during receipt of file %s: computed 0x%" PRIx32
", read 0x%" PRIx32
"";
987 this->m_LogText_OutputPort[0].invoke(
1002 if (this->m_timeCaller_OutputPort[0].isConnected()) {
1003 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
1011 if (this->m_eventOut_OutputPort[0].isConnected()) {
1015 #if FW_AMPCS_COMPATIBLE
1024 _status = fileName.
serialize(_logBuff, 40);
1030 this->m_eventOut_OutputPort[0].
invoke(
1039 #if FW_ENABLE_TEXT_LOGGING
1040 if (this->m_LogText_OutputPort[0].isConnected()) {
1041 #if FW_OBJECT_NAMES == 1
1042 const char* _formatString =
1043 "(%s) %s: Could not open file %s";
1045 const char* _formatString =
1046 "%s: Could not open file %s";
1065 this->m_LogText_OutputPort[0].invoke(
1080 if (this->m_timeCaller_OutputPort[0].isConnected()) {
1081 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
1089 if (this->m_eventOut_OutputPort[0].isConnected()) {
1093 #if FW_AMPCS_COMPATIBLE
1102 _status = fileName.
serialize(_logBuff, 40);
1108 this->m_eventOut_OutputPort[0].
invoke(
1117 #if FW_ENABLE_TEXT_LOGGING
1118 if (this->m_LogText_OutputPort[0].isConnected()) {
1119 #if FW_OBJECT_NAMES == 1
1120 const char* _formatString =
1121 "(%s) %s: Received file %s";
1123 const char* _formatString =
1124 "%s: Received file %s";
1143 this->m_LogText_OutputPort[0].invoke(
1161 this->m_FileWriteErrorThrottle++;
1166 if (this->m_timeCaller_OutputPort[0].isConnected()) {
1167 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
1175 if (this->m_eventOut_OutputPort[0].isConnected()) {
1179 #if FW_AMPCS_COMPATIBLE
1188 _status = fileName.
serialize(_logBuff, 40);
1194 this->m_eventOut_OutputPort[0].
invoke(
1203 #if FW_ENABLE_TEXT_LOGGING
1204 if (this->m_LogText_OutputPort[0].isConnected()) {
1205 #if FW_OBJECT_NAMES == 1
1206 const char* _formatString =
1207 "(%s) %s: Could not write to file %s";
1209 const char* _formatString =
1210 "%s: Could not write to file %s";
1229 this->m_LogText_OutputPort[0].invoke(
1250 this->m_InvalidReceiveModeThrottle++;
1255 if (this->m_timeCaller_OutputPort[0].isConnected()) {
1256 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
1264 if (this->m_eventOut_OutputPort[0].isConnected()) {
1268 #if FW_AMPCS_COMPATIBLE
1277 #if FW_AMPCS_COMPATIBLE
1280 static_cast<U8>(
sizeof(U32))
1287 _status = _logBuff.
serialize(packetType);
1293 #if FW_AMPCS_COMPATIBLE
1296 static_cast<U8>(
sizeof(U32))
1309 this->m_eventOut_OutputPort[0].
invoke(
1318 #if FW_ENABLE_TEXT_LOGGING
1319 if (this->m_LogText_OutputPort[0].isConnected()) {
1320 #if FW_OBJECT_NAMES == 1
1321 const char* _formatString =
1322 "(%s) %s: Packet type %" PRIu32
" received in mode %" PRIu32
"";
1324 const char* _formatString =
1325 "%s: Packet type %" PRIu32
" received in mode %" PRIu32
"";
1337 "InvalidReceiveMode ",
1345 this->m_LogText_OutputPort[0].invoke(
1366 this->m_PacketOutOfBoundsThrottle++;
1371 if (this->m_timeCaller_OutputPort[0].isConnected()) {
1372 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
1380 if (this->m_eventOut_OutputPort[0].isConnected()) {
1384 #if FW_AMPCS_COMPATIBLE
1393 #if FW_AMPCS_COMPATIBLE
1396 static_cast<U8>(
sizeof(U32))
1403 _status = _logBuff.
serialize(packetIndex);
1409 _status = fileName.
serialize(_logBuff, 40);
1415 this->m_eventOut_OutputPort[0].
invoke(
1424 #if FW_ENABLE_TEXT_LOGGING
1425 if (this->m_LogText_OutputPort[0].isConnected()) {
1426 #if FW_OBJECT_NAMES == 1
1427 const char* _formatString =
1428 "(%s) %s: Packet %" PRIu32
" out of bounds for file %s";
1430 const char* _formatString =
1431 "%s: Packet %" PRIu32
" out of bounds for file %s";
1443 "PacketOutOfBounds ",
1451 this->m_LogText_OutputPort[0].invoke(
1472 this->m_PacketOutOfOrderThrottle++;
1477 if (this->m_timeCaller_OutputPort[0].isConnected()) {
1478 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
1486 if (this->m_eventOut_OutputPort[0].isConnected()) {
1490 #if FW_AMPCS_COMPATIBLE
1499 #if FW_AMPCS_COMPATIBLE
1502 static_cast<U8>(
sizeof(U32))
1509 _status = _logBuff.
serialize(packetIndex);
1515 #if FW_AMPCS_COMPATIBLE
1518 static_cast<U8>(
sizeof(U32))
1525 _status = _logBuff.
serialize(lastPacketIndex);
1531 this->m_eventOut_OutputPort[0].
invoke(
1540 #if FW_ENABLE_TEXT_LOGGING
1541 if (this->m_LogText_OutputPort[0].isConnected()) {
1542 #if FW_OBJECT_NAMES == 1
1543 const char* _formatString =
1544 "(%s) %s: Received packet %" PRIu32
" after packet %" PRIu32
"";
1546 const char* _formatString =
1547 "%s: Received packet %" PRIu32
" after packet %" PRIu32
"";
1559 "PacketOutOfOrder ",
1567 this->m_LogText_OutputPort[0].invoke(
1582 if (this->m_timeCaller_OutputPort[0].isConnected()) {
1583 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
1591 if (this->m_eventOut_OutputPort[0].isConnected()) {
1594 #if FW_AMPCS_COMPATIBLE
1604 this->m_eventOut_OutputPort[0].
invoke(
1613 #if FW_ENABLE_TEXT_LOGGING
1614 if (this->m_LogText_OutputPort[0].isConnected()) {
1615 #if FW_OBJECT_NAMES == 1
1616 const char* _formatString =
1617 "(%s) %s: Received CANCEL packet";
1619 const char* _formatString =
1620 "%s: Received CANCEL packet";
1638 this->m_LogText_OutputPort[0].invoke(
1653 if (this->m_timeCaller_OutputPort[0].isConnected()) {
1654 this->m_timeCaller_OutputPort[0].
invoke(_logTime);
1662 if (this->m_eventOut_OutputPort[0].isConnected()) {
1666 #if FW_AMPCS_COMPATIBLE
1675 #if FW_AMPCS_COMPATIBLE
1678 static_cast<U8>(
sizeof(I32))
1691 this->m_eventOut_OutputPort[0].
invoke(
1700 #if FW_ENABLE_TEXT_LOGGING
1701 if (this->m_LogText_OutputPort[0].isConnected()) {
1702 #if FW_OBJECT_NAMES == 1
1703 const char* _formatString =
1704 "(%s) %s: Unable to decode file packet. Status: %" PRIi32
"";
1706 const char* _formatString =
1707 "%s: Unable to decode file packet. Status: %" PRIi32
"";
1726 this->m_LogText_OutputPort[0].invoke(
1744 this->m_FileWriteErrorThrottle = 0;
1751 this->m_InvalidReceiveModeThrottle = 0;
1758 this->m_PacketOutOfBoundsThrottle = 0;
1765 this->m_PacketOutOfOrderThrottle = 0;
1778 if (this->m_tlmOut_OutputPort[0].isConnected()) {
1780 this->m_timeCaller_OutputPort[0].isConnected() &&
1783 this->m_timeCaller_OutputPort[0].
invoke(_tlmTime);
1797 this->m_tlmOut_OutputPort[0].
invoke(
1811 if (this->m_tlmOut_OutputPort[0].isConnected()) {
1813 this->m_timeCaller_OutputPort[0].isConnected() &&
1816 this->m_timeCaller_OutputPort[0].
invoke(_tlmTime);
1830 this->m_tlmOut_OutputPort[0].
invoke(
1844 if (this->m_tlmOut_OutputPort[0].isConnected()) {
1846 this->m_timeCaller_OutputPort[0].isConnected() &&
1849 this->m_timeCaller_OutputPort[0].
invoke(_tlmTime);
1863 this->m_tlmOut_OutputPort[0].
invoke(
1878 if (this->m_timeCaller_OutputPort[0].isConnected()) {
1880 this->m_timeCaller_OutputPort[0].
invoke(_time);
1895 ComponentIpcSerializableBuffer msg;
1918 MsgTypeEnum msgType =
static_cast<MsgTypeEnum
>(desMsg);
1920 if (msgType == FILEUPLINK_COMPONENT_EXIT) {
1925 deserStatus = msg.deserialize(portNum);
1933 case BUFFERSENDIN_BUFFERSEND: {
1954 deserStatus = msg.deserialize(key);
1979 void FileUplinkComponentBase ::
1980 m_p_bufferSendIn_in(
1988 compPtr->bufferSendIn_handlerBase(
1994 void FileUplinkComponentBase ::
2003 compPtr->pingIn_handlerBase(
PlatformIntType NATIVE_INT_TYPE
uint8_t U8
8-bit unsigned integer
#define FW_NUM_ARRAY_ELEMENTS(a)
number of elements in an array
PlatformUIntType NATIVE_UINT_TYPE
int PlatformIntType
DefaultTypes.hpp provides fallback defaults for the platform types.
#define PRI_PlatformIntType
@ TB_NONE
No time base has been established.
PlatformAssertArgType FwAssertArgType
#define FW_LOG_TEXT_BUFFER_SIZE
Max size of string for text log message.
#define FW_OBJ_NAME_MAX_SIZE
Size of object name (if object names enabled). AC Limits to 80, truncation occurs above 80.
#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)
@ WARNING_HI
A serious but recoverable event.
@ ACTIVITY_HI
Important informational events.
const char * toChar() const override
SerializeStatus serialize(SerializeBufferBase &buffer) const override
serialization function
void init()
Object initializer.
void addCallPort(InputBufferSendPort *callPort)
Register an input port.
void invoke(Fw::Buffer &fwBuffer)
Invoke a port interface.
void init()
Initialization function.
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::QueueStatus createQueue(NATIVE_INT_TYPE depth, NATIVE_INT_TYPE 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.
SerializeStatus serialize(U8 val)
serialize 8-bit unsigned int
@ QUEUE_OK
message sent/received okay
QueueStatus send(const Fw::SerializeBufferBase &buffer, NATIVE_INT_TYPE priority, QueueBlocking block)
send a message
QueueStatus receive(Fw::SerializeBufferBase &buffer, NATIVE_INT_TYPE &priority, QueueBlocking block)
receive a message
@ QUEUE_BLOCKING
Queue receive blocks until a message arrives.
@ QUEUE_NONBLOCKING
Queue receive always returns even if there is no message.
void bufferSendOut_out(NATIVE_INT_TYPE portNum, Fw::Buffer &fwBuffer)
Invoke output port bufferSendOut.
void pingOut_out(NATIVE_INT_TYPE portNum, U32 key)
Invoke output port pingOut.
void log_WARNING_HI_DecodeError(I32 status)
virtual void bufferSendIn_preMsgHook(NATIVE_INT_TYPE portNum, Fw::Buffer &fwBuffer)
Pre-message hook for async input port bufferSendIn.
void log_ACTIVITY_HI_UplinkCanceled()
void log_WARNING_HI_FileOpenError(const Fw::LogStringArg &fileName)
NATIVE_INT_TYPE getNum_bufferSendOut_OutputPorts() const
void log_WARNING_HI_PacketOutOfBounds(U32 packetIndex, const Fw::LogStringArg &fileName)
void log_ACTIVITY_HI_FileReceived(const Fw::LogStringArg &fileName)
void log_WARNING_HI_FileWriteError_ThrottleClear()
Reset throttle value for FileWriteError.
FileUplinkComponentBase(const char *compName="")
Construct FileUplinkComponentBase object.
bool isConnected_tlmOut_OutputPort(NATIVE_INT_TYPE portNum)
void pingIn_handlerBase(NATIVE_INT_TYPE portNum, U32 key)
Handler base-class function for input port pingIn.
NATIVE_INT_TYPE getNum_timeCaller_OutputPorts() const
void set_bufferSendOut_OutputPort(NATIVE_INT_TYPE portNum, Fw::InputBufferSendPort *port)
Connect port to bufferSendOut[portNum].
void set_tlmOut_OutputPort(NATIVE_INT_TYPE portNum, Fw::InputTlmPort *port)
Connect port to tlmOut[portNum].
void log_WARNING_HI_BadChecksum(const Fw::LogStringArg &fileName, U32 computed, U32 read)
NATIVE_INT_TYPE getNum_pingOut_OutputPorts() const
void log_WARNING_HI_PacketOutOfOrder_ThrottleClear()
Reset throttle value for PacketOutOfOrder.
void tlmWrite_Warnings(U32 arg, Fw::Time _tlmTime=Fw::Time())
void bufferSendIn_handlerBase(NATIVE_INT_TYPE portNum, Fw::Buffer &fwBuffer)
Handler base-class function for input port bufferSendIn.
NATIVE_INT_TYPE getNum_eventOut_OutputPorts() const
virtual ~FileUplinkComponentBase()
Destroy FileUplinkComponentBase object.
void tlmWrite_PacketsReceived(U32 arg, Fw::Time _tlmTime=Fw::Time())
bool isConnected_timeCaller_OutputPort(NATIVE_INT_TYPE portNum)
virtual void pingIn_handler(NATIVE_INT_TYPE portNum, U32 key)=0
Handler for input port pingIn.
void log_WARNING_HI_PacketOutOfBounds_ThrottleClear()
Reset throttle value for PacketOutOfBounds.
bool isConnected_eventOut_OutputPort(NATIVE_INT_TYPE portNum)
Fw::InputBufferSendPort * get_bufferSendIn_InputPort(NATIVE_INT_TYPE portNum)
@ CHANNELID_FILESRECEIVED
Channel ID for FilesReceived.
@ CHANNELID_WARNINGS
Channel ID for Warnings.
@ CHANNELID_PACKETSRECEIVED
Channel ID for PacketsReceived.
void set_timeCaller_OutputPort(NATIVE_INT_TYPE portNum, Fw::InputTimePort *port)
Connect port to timeCaller[portNum].
Svc::InputPingPort * get_pingIn_InputPort(NATIVE_INT_TYPE portNum)
virtual void bufferSendIn_handler(NATIVE_INT_TYPE portNum, Fw::Buffer &fwBuffer)=0
Handler for input port bufferSendIn.
virtual void pingIn_preMsgHook(NATIVE_INT_TYPE portNum, U32 key)
Pre-message hook for async input port pingIn.
void tlmWrite_FilesReceived(U32 arg, Fw::Time _tlmTime=Fw::Time())
void set_pingOut_OutputPort(NATIVE_INT_TYPE portNum, Svc::InputPingPort *port)
Connect port to pingOut[portNum].
void log_WARNING_HI_FileWriteError(const Fw::LogStringArg &fileName)
void log_WARNING_HI_PacketOutOfOrder(U32 packetIndex, U32 lastPacketIndex)
void set_eventOut_OutputPort(NATIVE_INT_TYPE portNum, Fw::InputLogPort *port)
Connect port to eventOut[portNum].
void log_WARNING_HI_InvalidReceiveMode_ThrottleClear()
Reset throttle value for InvalidReceiveMode.
NATIVE_INT_TYPE getNum_bufferSendIn_InputPorts() const
NATIVE_INT_TYPE getNum_tlmOut_OutputPorts() const
@ EVENTID_UPLINKCANCELED
The File Uplink component received a CANCEL packet.
@ EVENTID_FILEOPENERROR
An error occurred opening a file.
@ EVENTID_FILEWRITEERROR
An error occurred writing to a file.
@ EVENTID_FILERECEIVED
The File Uplink component successfully received a file.
@ EVENTID_BADCHECKSUM
During receipt of a file, the computed checksum value did not match the stored value.
@ EVENTID_INVALIDRECEIVEMODE
The File Uplink component received a packet with a type that was invalid for the current receive mode...
@ EVENTID_PACKETOUTOFORDER
The File Uplink component encountered an out-of-order packet during file receipt.
@ EVENTID_DECODEERROR
Error decoding file packet.
@ EVENTID_PACKETOUTOFBOUNDS
During receipt of a file, the File Uplink component encountered a packet with offset and size out of ...
NATIVE_INT_TYPE getNum_pingIn_InputPorts() const
void log_WARNING_HI_InvalidReceiveMode(U32 packetType, U32 mode)
bool isConnected_pingOut_OutputPort(NATIVE_INT_TYPE portNum)
@ EVENTID_INVALIDRECEIVEMODE_THROTTLE
Throttle reset count for InvalidReceiveMode.
@ EVENTID_PACKETOUTOFBOUNDS_THROTTLE
Throttle reset count for PacketOutOfBounds.
@ EVENTID_FILEWRITEERROR_THROTTLE
Throttle reset count for FileWriteError.
@ EVENTID_PACKETOUTOFORDER_THROTTLE
Throttle reset count for PacketOutOfOrder.
bool isConnected_bufferSendOut_OutputPort(NATIVE_INT_TYPE portNum)
void invoke(U32 key)
Invoke a port interface.
void init()
Initialization function.
void addCallPort(InputPingPort *callPort)
Register an input port.
SerializeStatus
forward declaration for string
@ FW_SERIALIZE_OK
Serialization/Deserialization operation was successful.