pub struct Partition { /* private fields */ }Expand description
A single partition within a topic
Implementations§
Source§impl Partition
impl Partition
Sourcepub async fn append(&self, message: Message) -> Result<u64>
pub async fn append(&self, message: Message) -> Result<u64>
Append a message to the partition Lock-free implementation using AtomicU64 for 5-10x throughput
Sourcepub async fn read(
&self,
start_offset: u64,
max_messages: usize,
) -> Result<Vec<Message>>
pub async fn read( &self, start_offset: u64, max_messages: usize, ) -> Result<Vec<Message>>
Read messages from a given offset
Sourcepub async fn latest_offset(&self) -> u64
pub async fn latest_offset(&self) -> u64
Get the latest offset
pub async fn earliest_offset(&self) -> Option<u64>
pub async fn message_count(&self) -> usize
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for Partition
impl !RefUnwindSafe for Partition
impl Send for Partition
impl Sync for Partition
impl Unpin for Partition
impl !UnwindSafe for Partition
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
Mutably borrows from an owned value. Read more
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>
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 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>
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