use crate::wire::SubpacketType;
#[derive(Clone, Copy, Debug, PartialEq)]
pub(crate) struct FileRequest {
pub offset: u32,
pub len: usize,
}
#[derive(Clone, Copy, Debug, PartialEq)]
pub(crate) enum SenderEvent {
FileComplete,
SessionComplete,
Aborted,
}
#[derive(Clone, Copy, Debug, PartialEq)]
pub(crate) enum ReceiverEvent {
FileStart,
FileComplete,
SessionComplete,
Aborted,
}
#[derive(Clone, Copy, Debug, PartialEq)]
pub(crate) enum SubpacketPhase {
Idle,
SkipTrailer,
Reading,
Writing(SubpacketType),
Crc(SubpacketType),
}
#[derive(Clone, Copy, Debug, PartialEq)]
pub(crate) enum SenderPhase {
WaitReceiverInit,
ReadyForFile,
WaitFilePos,
NeedFileData,
WaitFileAck,
WaitFileDone,
WaitFinish,
Done,
}
#[derive(Clone, Copy, Debug, PartialEq)]
pub(crate) enum ReceiverPhase {
SessionBegin,
SinitReadingData,
FileBegin,
FileReadingMetadata,
FileAcceptPending,
FileReadingSubpacket,
FileWaitingSubpacket,
SessionEnd,
}