use std::result;
use thiserror::Error;
#[derive(Error, Debug)]
pub enum Error {
#[error(transparent)]
Device(#[from] wdev::Error),
#[error(transparent)]
Mem(#[from] wram::Error),
#[error("记录校验和不匹配: 期望 0x{expected:08X},实际 0x{actual:08X}")]
ChecksumMismatch {
expected: u32,
actual: u32,
},
#[error("环形写缓冲区已满: 可用 {available} 字节,请求 {requested} 字节")]
BufferFull {
available: u64,
requested: u64,
},
#[error("写入负载过大: {0} 字节超出缓冲区单条最大限制")]
PayloadTooLarge(usize),
#[error("刷盘短写入: 期望写入 {expected} 字节,实际仅写入 {written} 字节")]
ShortWrite {
expected: usize,
written: usize,
},
#[error("无效记录头: 数据损坏或未完全写入")]
InvalidRecordHeader,
}
pub type Result<T> = result::Result<T, Error>;