pub struct RecordWalk {
pub records: Vec<RecordEntry>,
pub complete: bool,
pub malformed: usize,
pub out_of_budget: bool,
}Expand description
The result of a bounded walk: what was read, and whether that is all of it.
complete is a fact the caller cannot recover afterwards. A short list
from a truncating walk looks exactly like a short collection, and the
difference is the one that matters: “this publication has nine articles” and
“this reader gave up after nine” are the same Vec and very different
answers.
Fields§
§records: Vec<RecordEntry>The records kept, in the order the PDS returned them.
complete: boolTrue when the collection ran out before any bound did.
malformed: usizeRecords skipped because their envelope was malformed (#177). Only a
walk that SKIPS can report this; the walks that feed replace_sub_refs
refuse instead, with MalformedRecords.
out_of_budget: boolThe walk stopped because its byte budget ran out — not at a record cap, the page limit or a repeated cursor. Only this end is one a caller can change by reading with a budget of its own (#229): the others stop a read alone at the same place.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for RecordWalk
impl RefUnwindSafe for RecordWalk
impl Send for RecordWalk
impl Sync for RecordWalk
impl Unpin for RecordWalk
impl UnsafeUnpin for RecordWalk
impl UnwindSafe for RecordWalk
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
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
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> ⓘ
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> ⓘ
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