namespace AyCode.Core.Compression;

/// <summary>
/// LZ4 compression mode.
/// </summary>
public enum Lz4CompressionMode
{
    /// <summary>
    /// No compression.
    /// </summary>
    None = 0,

    /// <summary>
    /// LZ4 block compression. Compresses entire payload as single block.
    /// Better compression ratio, requires full buffer in memory.
    /// </summary>
    Block = 1,

    /// <summary>
    /// LZ4 block array compression. Compresses in 64KB chunks.
    /// Slightly worse compression ratio, but streaming-friendly and lower memory usage.
    /// </summary>
    BlockArray = 2
}
