MCPcopy Create free account
hub / github.com/Dstack-TEE/dstack / compress_ext_value

Function compress_ext_value

ra-tls/src/cert.rs:482–500  ·  view source on GitHub ↗

Compress a certificate extension value

(data: &[u8])

Source from the content-addressed store, hash-verified

480
481/// Compress a certificate extension value
482pub fn compress_ext_value(data: &[u8]) -> Result<Vec<u8>> {
483 use flate2::write::GzEncoder;
484 use flate2::Compression;
485 use std::io::Write;
486
487 let mut encoder = GzEncoder::new(Vec::new(), Compression::best());
488 encoder
489 .write_all(data)
490 .context("failed to write to gzip encoder")?;
491 let compressed = encoder
492 .finish()
493 .context("failed to finish gzip compression")?;
494
495 // Prepend magic prefix
496 let mut result = Vec::with_capacity(EVENTLOG_GZIP_MAGIC.len() + compressed.len());
497 result.extend_from_slice(EVENTLOG_GZIP_MAGIC);
498 result.extend_from_slice(&compressed);
499 Ok(result)
500}
501
502/// Decompress a certificate extension value
503pub fn decompress_ext_value(data: &[u8]) -> Result<Vec<u8>> {

Callers 2

Calls 2

finishMethod · 0.45
lenMethod · 0.45

Tested by 2