Namespace Scylla.Core.Util.Compression
Classes
CompressionException
The exclusive exception type thrown by ScyllaCompression and the ICompressionProvider / IArchiveProvider implementations when a compression or decompression operation cannot complete successfully.
CompressionExtensions
Extension methods on byte[] and byte[][] that expose the full
ScyllaCompression API in a fluent, instance-method style.
CompressionSettings
Encapsulates all parameters that govern how a ScyllaCompression operation is executed, including the algorithm, compression level, buffer size, parallelism, file filtering, encryption password, and file-collision behaviour.
ScyllaCompression
Central static façade for all compression and decompression operations in the Scylla framework.
Structs
ArchiveEntryInfo
Contains read-only metadata about a single entry (file or directory) within a compressed archive.
CompressionProgress
Carries a snapshot of progress information reported to an IProgress<CompressionProgress>
callback during a long-running ScyllaCompression operation.
CompressionResult
Represents the outcome of a void-returning ScyllaCompression operation (such as file-to-file compression or archive extraction) using the result pattern instead of exceptions.
CompressionResult<T>
Represents the outcome of a value-returning ScyllaCompression operation (such as byte-array compression or decompression) using the result pattern instead of exceptions.
Interfaces
IArchiveProvider
Extends ICompressionProvider with operations that work on multi-file archives such as ZIP files, including folder-level compression and extraction, entry enumeration, and single-entry extraction.
ICompressionProvider
Defines the contract for a single-algorithm compression provider that is capable of
compressing and decompressing data both in-memory (byte arrays) and through streams.
Implementations in Scylla.Core.Util.Compression.Algorithms cover
GZip, Deflate,
and (when SCYLLA_HAS_SHARPZIPLIB is defined)
BZip2 and Zip.
Enums
CompressionAlgorithm
Identifies the compression algorithm used for compress and decompress operations in ScyllaCompression and ICompressionProvider.
CompressionErrorCode
Categorizes the failure reason reported by a CompressionException or a failed CompressionResult / CompressionResult<T>.
CompressionLevel
Controls the trade-off between output size and processing time for a compression operation. Higher levels produce smaller output but require more CPU time and memory.