Struct spacetimedb_commitlog::Commit

source ·
pub struct Commit {
    pub min_tx_offset: u64,
    pub n: u16,
    pub records: Vec<u8>,
}
Expand description

Entry type of a crate::Commitlog.

Fields§

§min_tx_offset: u64

The offset of the first record in this commit.

The offset starts from zero and is counted from the beginning of the entire log.

§n: u16

The number of records in the commit.

§records: Vec<u8>

A buffer of all records in the commit in serialized form.

Readers must bring their own crate::Decoder to interpret this buffer. n indicates how many records the buffer contains.

Implementations§

source§

impl Commit

source

pub const FRAMING_LEN: usize = 18usize

source

pub const CHECKSUM_ALGORITHM: u8 = 0u8

source

pub fn tx_range(&self) -> Range<u64>

The range of transaction offsets contained in this commit.

source

pub fn encoded_len(&self) -> usize

Length in bytes of this commit when written to the log via Self::write.

source

pub fn write<W: Write>(&self, out: W) -> Result<()>

Serialize and write self to out.

source

pub fn decode<R: Read>(reader: R) -> Result<Option<Self>>

Attempt to read one Commit from the given Reader.

Returns None if the reader is already at EOF.

Verifies the checksum of the commit. If it doesn’t match, an error of kind io::ErrorKind::InvalidData with an inner error downcastable to ChecksumMismatch is returned.

source

pub fn into_transactions<D: Decoder>( self, version: u8, de: &D ) -> impl Iterator<Item = Result<Transaction<D::Record>, D::Error>> + '_

Trait Implementations§

source§

impl Debug for Commit

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for Commit

source§

fn default() -> Commit

Returns the “default value” for a type. Read more
source§

impl PartialEq for Commit

source§

fn eq(&self, other: &Commit) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl StructuralPartialEq for Commit

Auto Trait Implementations§

§

impl Freeze for Commit

§

impl RefUnwindSafe for Commit

§

impl Send for Commit

§

impl Sync for Commit

§

impl Unpin for Commit

§

impl UnwindSafe for Commit

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoEither for T

source§

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 more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
source§

impl<T> Pointable for T

source§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.