7 #ifndef Svc_DpCompressProcComponentAc_HPP 8 #define Svc_DpCompressProcComponentAc_HPP 25 #if !FW_DIRECT_PORT_CALLS 28 #if !FW_DIRECT_PORT_CALLS 206 #if !FW_DIRECT_PORT_CALLS 223 #if !FW_DIRECT_PORT_CALLS 240 #if !FW_DIRECT_PORT_CALLS 278 #if FW_ENABLE_TEXT_LOGGING == 1 281 void set_logTextOut_OutputPort(
308 #if !FW_DIRECT_PORT_CALLS 324 #if !FW_DIRECT_PORT_CALLS && FW_PORT_SERIALIZATION 335 Fw::InputSerializePort* port
341 Fw::InputSerializePort* port
347 Fw::InputSerializePort* port
353 Fw::InputSerializePort* port
356 #if FW_ENABLE_TEXT_LOGGING == 1 359 void set_logTextOut_OutputPort(
361 Fw::InputSerializePort* port
369 Fw::InputSerializePort* port
375 Fw::InputSerializePort* port
410 const char* compName =
"" 483 #if FW_ENABLE_TEXT_LOGGING == 1 488 static constexpr
FwIndexType getNum_logTextOut_OutputPorts() {
569 #if FW_ENABLE_TEXT_LOGGING == 1 574 bool isConnected_logTextOut_OutputPort(
614 #if FW_DIRECT_PORT_CALLS 646 #if FW_DIRECT_PORT_CALLS 816 DpContainer& container,
838 static void m_p_cmdIn_in(
853 static void m_p_procRequest_in(
872 void cmdResponseOut_out(
903 #if FW_ENABLE_TEXT_LOGGING 985 DpContainer& container
988 #if !FW_DIRECT_PORT_CALLS 1001 #if !FW_DIRECT_PORT_CALLS 1014 #if !FW_DIRECT_PORT_CALLS 1037 #if FW_ENABLE_TEXT_LOGGING == 1 1055 #if !FW_DIRECT_PORT_CALLS 1075 std::atomic<FwIndexType> m_DidNotCompressThrottle;
1078 std::atomic<FwIndexType> m_InvalidHeaderThrottle;
1081 std::atomic<FwIndexType> m_BufferTooSmallForPacketThrottle;
1084 std::atomic<FwIndexType> m_ContainerTooLargeThrottle;
Opcode to save parameter CHUNK_SIZE.
Error occurred when deserializing the container header.
bool isConnected_logOut_OutputPort(FwIndexType portNum) const
A data product Container.
static constexpr FwSizeType SIZE_OF_CompressionRecord_RECORD(FwSizeType arraySize)
Record sizes.
bool isConnected_timeCaller_OutputPort(FwIndexType portNum) const
void log_WARNING_HI_BufferTooSmallForPacket(FwSizeType buffer_size, FwSizeType min_size)
FwIdType FwOpcodeType
The type of a command opcode.
static constexpr FwIndexType getNum_dpSend_OutputPorts()
virtual void parametersLoaded()
Called whenever parameters are loaded.
static constexpr FwIndexType getNum_compressChunk_OutputPorts()
void set_compressChunk_OutputPort(FwIndexType portNum, Svc::InputCompressChunkPort *port)
Connect port to compressChunk[portNum].
friend class DpCompressProcTesterBase
Friend class tester to support autocoded test harness.
static constexpr FwIndexType getNum_prmGetOut_OutputPorts()
PlatformSizeType FwSizeType
U32 FwDpPriorityType
The type of a data product priority.
void log_WARNING_HI_InvalidHeader(FwSizeType buffer_size, U32 error_code)
bool isConnected_prmGetOut_OutputPort(FwIndexType portNum) const
FwIdType FwPrmIdType
The type of a parameter identifier.
Throttle reset count for InvalidHeader.
static constexpr FwIndexType getNum_procRequest_InputPorts()
void dpSend(DpContainer &container, Fw::Time timeTag=Fw::ZERO_TIME)
Send a data product.
bool isConnected_cmdResponseOut_OutputPort(FwIndexType portNum) const
Number of bytes to use in a compression chunk.
Fw::Success::T dpGet_Dummy(FwSizeType dataSize, DpContainer &container)
Fw::SerializeStatus serializeRecord_CompressionRecord(const U8 *array, FwSizeType size)
bool isConnected_prmSetOut_OutputPort(FwIndexType portNum) const
Fw::InputCmdPort * get_cmdIn_InputPort(FwIndexType portNum)
Enum representing a command response.
void set_prmGetOut_OutputPort(FwIndexType portNum, Fw::InputPrmGetPort *port)
Connect port to prmGetOut[portNum].
void setBaseId(FwDpIdType baseId)
bool isConnected_cmdRegOut_OutputPort(FwIndexType portNum) const
bool isConnected_compressChunk_OutputPort(FwIndexType portNum) const
Opcode to set parameter CHUNK_SIZE.
A data product container.
Throttle reset count for BufferTooSmallForPacket.
void init()
Object initializer.
void cmdIn_handlerBase(FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
Handler base-class function for input port cmdIn.
Received buffer is too small to hold a data product packet.
SerializeStatus
forward declaration for string
static constexpr FwIndexType getNum_dpGet_OutputPorts()
void log_ACTIVITY_LO_DidNotCompress(FwDpIdType dp_id, FwSizeType data_size)
Log event DidNotCompress.
U16 FwSizeStoreType
The type used to serialize a size value.
FwIdType FwEventIdType
The type of an event identifier.
void set_logOut_OutputPort(FwIndexType portNum, Fw::InputLogPort *port)
Connect port to logOut[portNum].
DpCompressProcComponentBase(const char *compName="")
Construct DpCompressProcComponentBase object.
bool isConnected_dpSend_OutputPort(FwIndexType portNum) const
Auto-generated base for DpCompressProc component.
static constexpr FwIndexType getNum_logOut_OutputPorts()
Throttle reset count for DidNotCompress.
void set_timeCaller_OutputPort(FwIndexType portNum, Fw::InputTimePort *port)
Connect port to timeCaller[portNum].
Fw::InputBufferSendPort * get_procRequest_InputPort(FwIndexType portNum)
Svc::CompressionAlgorithm compressChunk_out(FwIndexType portNum, Fw::Buffer &buffer, FwSizeType min_compression, FwSizeType write_offset) const
Invoke output port compressChunk.
static constexpr FwIndexType getNum_cmdIn_InputPorts()
void set_dpGet_OutputPort(FwIndexType portNum, Fw::InputDpGetPort *port)
Connect port to dpGet[portNum].
void procRequest_handlerBase(FwIndexType portNum, Fw::Buffer &fwBuffer)
Handler base-class function for input port procRequest.
static constexpr FwIndexType getNum_prmSetOut_OutputPorts()
void set_prmSetOut_OutputPort(FwIndexType portNum, Fw::InputPrmSetPort *port)
Connect port to prmSetOut[portNum].
Output CompressChunk port.
void log_WARNING_HI_ContainerTooLarge_ThrottleClear()
Reset throttle value for ContainerTooLarge.
void log_WARNING_HI_BufferTooSmallForPacket_ThrottleClear()
Reset throttle value for BufferTooSmallForPacket.
void log_DIAGNOSTIC_CompressionComplete(FwDpIdType dp_id, FwSizeType initial_size, FwSizeType final_size) const
Log event CompressionComplete.
Chunk size to use when passing data to the compression backend.
friend class DpCompressProcTester
Friend class tester implementation to support white-box testing.
Opcode to set parameter ENABLE.
Enum representing event severity.
virtual ~DpCompressProcComponentBase()
Destroy DpCompressProcComponentBase object.
static constexpr FwIndexType getNum_timeCaller_OutputPorts()
Enabled and disabled states.
void log_ACTIVITY_LO_DidNotCompress_ThrottleClear()
Reset throttle value for DidNotCompress.
DpContainer()
Constructor with default initialization.
Throttle reset count for ContainerTooLarge.
uint8_t U8
8-bit unsigned integer
static constexpr FwIndexType getNum_cmdResponseOut_OutputPorts()
FwIdType FwDpIdType
The type of a data product identifier.
virtual void parameterUpdated(FwPrmIdType id)
Called whenever a parameter is updated.
FwSizeStoreType paramGet_CHUNK_SIZE(Fw::ParamValid &valid)
Opcode to save parameter ENABLE.
PlatformIndexType FwIndexType
void set_cmdResponseOut_OutputPort(FwIndexType portNum, Fw::InputCmdResponsePort *port)
Connect port to cmdResponseOut[portNum].
RateGroupDivider component implementation.
bool isConnected_dpGet_OutputPort(FwIndexType portNum) const
Enum representing parameter validity.
void set_dpSend_OutputPort(FwIndexType portNum, Fw::InputDpSendPort *port)
Connect port to dpSend[portNum].
virtual void procRequest_handler(FwIndexType portNum, Fw::Buffer &fwBuffer)=0
Handler for input port procRequest.
void log_WARNING_HI_ContainerTooLarge(FwDpIdType dp_id, FwSizeType data_size)
The container default priorities.
void loadParameters()
Load the parameters from a parameter source.
void regCommands()
Register commands with the Command Dispatcher.
Received container is too large for its size to be stored in a record size field. ...
void cmdResponse_out(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdResponse response)
Emit command response.
void log_WARNING_HI_InvalidHeader_ThrottleClear()
Reset throttle value for InvalidHeader.
Fw::Enabled paramGet_ENABLE(Fw::ParamValid &valid)
void set_cmdRegOut_OutputPort(FwIndexType portNum, Fw::InputCmdRegPort *port)
Connect port to cmdRegOut[portNum].
FwDpIdType getBaseId() const
static constexpr FwIndexType getNum_cmdRegOut_OutputPorts()