Expand description
§Lossless Uncompressed Serializer Library
lusl is a library that serializes a directory containing multiple files into a single file and also deserializes it, like a tarball.
This library also provides a way to encrypt and compress the serialized file.
The encryption is done using XChaCha20-Poly1305 and the compression is done using zlib.
It also saves MD5 checksums when serializing files and verify it when deserializing file for data integrity.
§Usage
§Serializing and deserializing without encrypting or compressing.
use lusl::{Serializer, Deserializer, SerializeOption};
use std::path::PathBuf;
// Serialize a directory into a file.
let original = PathBuf::from("tests");
let result = PathBuf::from("serialized.bin");
let mut serializer = Serializer::new(&original, &result).unwrap();
serializer.serialize().unwrap();
// Deserialize the file into a directory.
let restored = PathBuf::from("deserialized_dir");
let mut deserializer = Deserializer::new(&result, &restored).unwrap();
deserializer.deserialize().unwrap();
assert!(&result.is_file());
assert!(&restored.is_dir());§Serializing and deserializing with encrypting and compressing.
use lusl::{Serializer, Deserializer, SerializeOption};
use std::path::PathBuf;
// Serialize a directory into a file.
let original = PathBuf::from("tests");
let result = PathBuf::from("serialized.bin");
let mut serializer = Serializer::new(&original, &result).unwrap();
// Set the encryption key and compression option.
serializer.set_option(SerializeOption::new().to_encrypt("password").to_compress(true));
serializer.serialize().unwrap();
// Deserialize the file into a directory.
let restored = PathBuf::from("deserialized_dir");
let mut deserializer = Deserializer::new(&result, &restored).unwrap();
// Set the encryption key and compression option.
deserializer.set_option(SerializeOption::new().to_encrypt("password").to_compress(true));
deserializer.deserialize().unwrap();
assert!(&result.is_file());
assert!(&restored.is_dir());Modules§
- version
- Version module.
Structs§
- Deserializer
- Deserializer
- Serialize
Option - Option struct for serializing and deserializing
- Serializer
- Serializer
Functions§
- read_
version - Reads the version of the serialized file.