LCOV - code coverage report
Current view: top level - envoy/compression/compressor - compressor.h (source / functions) Hit Total Coverage
Test: coverage.dat Lines: 1 1 100.0 %
Date: 2024-01-05 06:35:25 Functions: 1 1 100.0 %

          Line data    Source code
       1             : #pragma once
       2             : 
       3             : #include "envoy/buffer/buffer.h"
       4             : 
       5             : namespace Envoy {
       6             : namespace Compression {
       7             : namespace Compressor {
       8             : 
       9             : /**
      10             :  * Compressor state whether to flush the compressor or to finish the compression stream.
      11             :  */
      12             : enum class State { Flush, Finish };
      13             : 
      14             : /**
      15             :  * Allows compressing data.
      16             :  */
      17             : class Compressor {
      18             : public:
      19         758 :   virtual ~Compressor() = default;
      20             : 
      21             :   /**
      22             :    * Compresses data buffer.
      23             :    * @param buffer supplies the reference to data to be compressed. The content of the buffer will
      24             :    *        be replaced inline with the compressed data.
      25             :    * @param state supplies the compressor state.
      26             :    */
      27             :   virtual void compress(Buffer::Instance& buffer, State state) PURE;
      28             : };
      29             : 
      30             : using CompressorPtr = std::unique_ptr<Compressor>;
      31             : 
      32             : } // namespace Compressor
      33             : } // namespace Compression
      34             : } // namespace Envoy

Generated by: LCOV version 1.15