pub struct PublicationRead {
pub publication: Publication,
pub entries: Vec<Entry>,
pub complete: bool,
pub cut_short_by_group: bool,
}Expand description
What one read of a publication produced.
complete is the fact the store cannot recover afterwards. A truncated
walk and a short publication return the same entries; the difference decides
whether an empty result is a quiet blog or a read that gave up, and the
caller has no other way to tell. fetch used to drop it on the floor after
logging a warning.
Fields§
§publication: Publication§entries: Vec<Entry>§complete: bool§cut_short_by_group: boolThe read stopped because its group’s shared walk stopped, not because of anything in this publication (#229).
Up to 16 publications of one repo share one walk of its documents and
one byte budget (fetch_repo). Big siblings can spend that budget,
and the walk then ends before a quiet publication’s documents — on
every poll. This says so, so the poller can re-read that publication
alone, where the whole budget is its own.
Set only when the walk ended incomplete, this publication did NOT hit
its own document cap, and the walk served more than one publication. A
lone publication’s incomplete read is just itself — reading it alone
again would read the same — so it is never set there. complete keeps
its meaning: a read with this set is also complete == false.
Trait Implementations§
Source§impl Clone for PublicationRead
impl Clone for PublicationRead
Auto Trait Implementations§
impl Freeze for PublicationRead
impl RefUnwindSafe for PublicationRead
impl Send for PublicationRead
impl Sync for PublicationRead
impl Unpin for PublicationRead
impl UnsafeUnpin for PublicationRead
impl UnwindSafe for PublicationRead
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<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