pub enum JournalRow {
Pack(Extent),
Retired(u64),
}Expand description
One journal row, read back and interpreted.
The ordinal of a pack is its position among the Pack
rows, not its row index. Tombstones are appended to the same log — that is
what keeps the journal append-only — so counting raw rows would renumber
every pack acked before a gc and make the ordinals a live process holds
disagree with the ones the next open derives. Counting pack rows cannot: a
pack row is never removed and never reordered, so a pack’s ordinal is fixed
for the life of the archive.
Variants§
Pack(Extent)
A pack was acked at this extent.
Retired(u64)
The pack that starts at this offset was retired: a gc found every
one of its objects dead and dropped every row it had. Its bytes are still
in the blob file (the blob file is append-only and nothing truncates it),
but no open may ever re-queue it for indexing again.
Trait Implementations§
Source§impl Clone for JournalRow
impl Clone for JournalRow
Source§fn clone(&self) -> JournalRow
fn clone(&self) -> JournalRow
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 JournalRow
Source§impl Debug for JournalRow
impl Debug for JournalRow
impl Eq for JournalRow
Source§impl PartialEq for JournalRow
impl PartialEq for JournalRow
impl StructuralPartialEq for JournalRow
Auto Trait Implementations§
impl Freeze for JournalRow
impl RefUnwindSafe for JournalRow
impl Send for JournalRow
impl Sync for JournalRow
impl Unpin for JournalRow
impl UnsafeUnpin for JournalRow
impl UnwindSafe for JournalRow
Blanket Implementations§
impl<T> Allocation for T
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.