Skip to content

Svc::DpZLibCompressor

Svc::DpZLibCompressor is a Data Product Compressor using ZLib and the DEFLATE algorithm to compress data product chunks. Svc::DpZLibCompressor is responsible for receiving chunks of data to compress from DpCompressProc and attempting to compress them.

Usage Examples

See DpCompressProc

Port Descriptions

Name Description
compressChunk Receive chunks of data to compress. See DpCompressProc for more information
bufferCompressionGet Get an Fw::Buffer. This compression buffer is used as a temporary buffer to store the results of the compression
bufferCompressionReturn Return the compression buffer
bufferZLibGet Get an Fw::Buffer. This zlib buffer is used as a memory pool to implement malloc/free for zlib through an internal bump allocator
bufferZLibReturn Return the zlib buffer

Component States

None. DpZLibCompressor is stateless between invocations

Sequence Diagrams

See DpCompressProc

Parameters

Name Description
CompressionLevel Compression level to pass to zlib in the range [0, 9] inclusive. 0 indicates no compression and 9 indicates maximum compression at the cost of runtime
ZLibBufferSize Size of the ZLib allocator buffer to request through the bufferZLibGet port

Requirements

Add requirements in the chart below | Name | Description | Validation | |---|---|---| | SVC-DPZLIBCOMPRESSOR-001 | Svc::DpZLibCompressor shall attempt to compress incoming data chunks per the protocol defined by DpCompressProc | Unit Test | SVC-DPZLIBCOMPRESSOR-002 | Svc::DpZLibCompressor shall either return Svc::CompressionAlgorithm::UNCOMPRESSED or Svc::CompressionAlgorithm::ZLIB_DEFLATE from the compressChunk input port | Unit Test

Events

Name Description
ZLibCompressBadBuffer WARNING_LO Unable to allocate a compression buffer through BufferManager
ZLibAllocBadBuffer WARNING_LO Unable to allocate an alloc buffer through BufferManager
ZLibInitError WARNING_LO ZLib error during deflateInit call
ZLibDeflateError WARNING_LO ZLib error during deflate call
BufferTooBigForZLib WARNING_LO Buffer size exceeds zlib integer size limits
ZLibNoCompression DIAGNOSTIC ZLib unable to compress buffer
ZLibCompression DIAGNOSTIC ZLib compressed buffer
ZLibMemoryUsage DIAGNOSTIC ZLib maximum memory usage during compression

Change Log

Date Description
04/14/2026 Initial Draft