use stewart::Sender;
use uuid::Uuid;
pub struct FileMessage {
pub id: Uuid,
pub action: FileAction,
}
pub enum FileAction {
Read(FileRead),
Write(FileWrite),
}
pub struct FileRead {
pub offset: u64,
pub size: u64,
pub on_result: Sender<ReadResult>,
}
pub struct FileWrite {
pub location: WriteLocation,
pub data: Vec<u8>,
pub on_result: Sender<WriteResult>,
}
pub enum WriteLocation {
Offset(u64),
Append,
}
pub struct ReadResult {
pub id: Uuid,
pub offset: u64,
pub data: Vec<u8>,
}
pub struct WriteResult {
pub id: Uuid,
pub offset: u64,
}