Crate blte

Source
Expand description

BLTE (Block Table Entry) Compression/Decompression Library

BLTE is Blizzard’s compression and encryption format used throughout their content distribution system. This crate provides parsing and decompression capabilities for all BLTE modes.

§Archive Support

Blizzard’s CDN serves content as 256MB archive files containing multiple concatenated BLTE files. Use the archive module for handling these files.

Re-exports§

pub use adaptive::CompressionRecommendation;
pub use adaptive::DataAnalysis;
pub use adaptive::FileType;
pub use adaptive::analyze_data;
pub use adaptive::auto_compress;
pub use adaptive::compress_with_best_ratio;
pub use adaptive::select_compression_mode;
pub use archive::ArchiveEntry;
pub use archive::ArchiveMetadata;
pub use archive::ArchiveStats;
pub use archive::BLTEArchive;
pub use archive::builder::ArchiveBuilder;
pub use archive::builder::MultiArchiveBuilder;
pub use archive::recreation::ChunkStructure;
pub use archive::recreation::ExtractedFile;
pub use archive::recreation::HeaderFormat;
pub use archive::recreation::OriginalFileMetadata;
pub use archive::recreation::PerfectArchiveBuilder;
pub use archive::recreation::analyze_chunk_structure;
pub use archive::recreation::detect_compression_mode;
pub use archive::recreation::detect_header_format;
pub use archive::recreation::recreate_perfect_blte_file;
pub use builder::BLTEBuilder;
pub use builder::ChunkSpec;
pub use builder::CompressionStrategy;
pub use builder::EncryptionAlgorithm;
pub use builder::EncryptionSpec;
pub use chunk::BLTEFile;
pub use chunk::BLTEFileRef;
pub use chunk::ChunkData;
pub use chunk::ChunkDataRef;
pub use compress::EncryptionMethod;
pub use compress::auto_select_compression_mode;
pub use compress::compress_chunk;
pub use compress::compress_data_encrypted_multi;
pub use compress::compress_data_encrypted_single;
pub use compress::compress_data_multi;
pub use compress::compress_data_single;
pub use compress::compress_encrypted;
pub use compress::create_single_chunk_blte;
pub use decompress::decompress_blte;
pub use decompress::decompress_blte_pooled;
pub use decompress::decompress_chunk;
pub use decompress::decompress_chunk_pooled;
pub use error::Error;
pub use error::Result;
pub use header::BLTEHeader;
pub use header::ChunkInfo;
pub use memory_pool::BLTEMemoryPool;
pub use memory_pool::PoolConfig;
pub use memory_pool::PoolStats;
pub use memory_pool::PooledBuffer;
pub use memory_pool::PooledBufferGuard;
pub use memory_pool::global_pool;
pub use memory_pool::init_global_pool;
pub use stream::BLTEStream;
pub use stream::create_streaming_reader;

Modules§

adaptive
Adaptive compression module for BLTE
archive
BLTE Archive support for 256MB CDN files
builder
BLTE builder pattern for convenient file construction
chunk
BLTE chunk handling and file structure
compress
BLTE compression functionality
decompress
BLTE decompression implementation
error
Error types for BLTE parsing and decompression
header
BLTE header parsing
memory_pool
Memory pool for BLTE chunk processing
stream
BLTE streaming decompression implementation

Enums§

CompressionMode
BLTE compression modes

Constants§

BLTE_MAGIC
BLTE magic bytes