pub enum EventKind {
Show 14 variants
DriveOpened {
device: String,
},
DriveReady,
InitComplete {
success: bool,
},
ProbeComplete {
success: bool,
},
ScanComplete {
titles: usize,
},
BytesRead {
bytes: u64,
total: u64,
},
ReadError {
sector: u64,
error: Error,
},
Retry {
attempt: u32,
},
SpeedChange {
speed_kbs: u16,
},
ExtentStart {
index: usize,
start_sector: u64,
sector_count: u64,
},
SectorRecovered {
sector: u64,
},
SectorSkipped {
sector: u64,
},
BatchSizeChanged {
new_size: u16,
reason: BatchSizeReason,
},
Complete {
bytes: u64,
errors: u32,
},
}Expand description
Types of events the lib can fire.
Variants§
DriveOpened
Drive opened successfully.
DriveReady
Drive is ready (disc spun up).
InitComplete
Firmware init completed.
ProbeComplete
Disc probe completed.
ScanComplete
Disc scan completed.
BytesRead
Bytes successfully read and written to output.
ReadError
A read error occurred. The lib will retry automatically.
Retry
Retrying a failed read.
SpeedChange
Drive speed changed (error recovery or restoration).
ExtentStart
Starting a new disc extent.
Fields
SectorRecovered
Sector recovered after a retry (Drive::read multi-phase recovery).
SectorSkipped
Sector unreadable, zero-filled (skip mode).
BatchSizeChanged
Adaptive batch sizer changed the read size.
Fires on shrink (read failed at larger size) and on probe-up (enough clean reads to try larger again). Consumers use this to display a “recovering” state distinct from “ripping normally”.
Complete
Operation complete.
Trait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for EventKind
impl !UnwindSafe for EventKind
impl Freeze for EventKind
impl Send for EventKind
impl Sync for EventKind
impl Unpin for EventKind
impl UnsafeUnpin for EventKind
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more