Skip to main content

BlockSource

Trait BlockSource 

Source
pub trait BlockSource {
    // Required methods
    fn header(&self) -> &FixedHeader;
    fn read_ct(&self, offset: u64, len: u64) -> Result<Vec<u8>>;
    fn ct_len(&self) -> u64;

    // Provided methods
    fn is_remote(&self) -> bool { ... }
    fn describe(&self) -> String { ... }
}
Expand description

密文块来源。

实现者只需提供「按载荷内偏移取密文」的能力,随机访问、跨块拼接、 解压都由上层统一处理。

Required Methods§

Source

fn header(&self) -> &FixedHeader

文件头。实现者应缓存,避免每次重新解析。

Source

fn read_ct(&self, offset: u64, len: u64) -> Result<Vec<u8>>

读取载荷区中 [offset, offset + len) 的密文。

offset 相对载荷区起点(即 header_len 之后),不是文件绝对偏移。

§Errors

越界、I/O 失败或远程不可达时返回错误。

Source

fn ct_len(&self) -> u64

载荷区密文总长。

Provided Methods§

Source

fn is_remote(&self) -> bool

是否为远程来源。UI 据此显示网络状态、调整预读策略。

Source

fn describe(&self) -> String

来源的可读描述,用于错误信息与日志。

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§