revault_lockbox_api 0.0.4

reVault lockbox API to create and manage lockboxes
Documentation
use std::sync::Arc;

use crate::LockboxPath;

#[derive(Debug, Clone, PartialEq, Eq)]
pub(crate) struct CompressionFrameSegment {
    pub(crate) page_offset: u64,
    pub(crate) page_len: u64,
    pub(crate) object_id: u64,
    pub(crate) segment_offset: u64,
    pub(crate) segment_len: u64,
}

#[derive(Debug, Clone, PartialEq, Eq)]
pub(crate) struct FileChunk {
    pub(crate) stored_path: LockboxPath,
    pub(crate) file_offset: u64,
    pub(crate) len: u64,
    pub(crate) compression_frame_offset: u64,
    pub(crate) compression_frame_len: u64,
    pub(crate) compressed_len: u64,
    pub(crate) compression: u8,
    pub(crate) compression_frame_id: u64,
    pub(crate) compression_frame_digest: [u8; 32],
    pub(crate) segments: Vec<CompressionFrameSegment>,
}

#[derive(Debug, Clone)]
pub(crate) struct PendingFileChunk {
    pub(crate) path: LockboxPath,
    pub(crate) permissions: u32,
    pub(crate) total_len: u64,
    pub(crate) data: Arc<[u8]>,
}