pub struct ReplayTraceExhausted {
pub recorded: usize,
pub attempted: usize,
}Expand description
The error Driver::read wraps in DriverError::Operation when the configured PV
tag is read after every recorded sample has already been consumed.
A correctly captured trace paired with a correctly behaving engine should never reach
this: MrftEngine::step is a documented no-op once it has returned Action::Complete
once (see crates/bhtune-core/tests/golden_replay.rs’s own note on this), so a caller
that stops polling as soon as completion is observed – exactly the shape that test and
this module’s own end-to-end test both use – never triggers it. Seeing this in practice
means either the trace’s tick count doesn’t actually cover a real MRFT completion, or the
engine driving this driver has a genuine regression that fails to complete in time.
Fields§
§recorded: usizeHow many samples this driver was constructed with.
attempted: usizeThe 1-based read attempt number that failed (recorded + 1, recorded + 2, …).
Trait Implementations§
Source§impl Clone for ReplayTraceExhausted
impl Clone for ReplayTraceExhausted
Source§fn clone(&self) -> ReplayTraceExhausted
fn clone(&self) -> ReplayTraceExhausted
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for ReplayTraceExhausted
Source§impl Debug for ReplayTraceExhausted
impl Debug for ReplayTraceExhausted
Source§impl Display for ReplayTraceExhausted
impl Display for ReplayTraceExhausted
impl Eq for ReplayTraceExhausted
Source§impl Error for ReplayTraceExhausted
impl Error for ReplayTraceExhausted
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Source§impl PartialEq for ReplayTraceExhausted
impl PartialEq for ReplayTraceExhausted
Source§fn eq(&self, other: &ReplayTraceExhausted) -> bool
fn eq(&self, other: &ReplayTraceExhausted) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for ReplayTraceExhausted
Auto Trait Implementations§
impl Freeze for ReplayTraceExhausted
impl RefUnwindSafe for ReplayTraceExhausted
impl Send for ReplayTraceExhausted
impl Sync for ReplayTraceExhausted
impl Unpin for ReplayTraceExhausted
impl UnsafeUnpin for ReplayTraceExhausted
impl UnwindSafe for ReplayTraceExhausted
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Layered].