pub struct LogManager { /* private fields */ }Implementations§
Source§impl LogManager
impl LogManager
pub async fn new( base_dir: PathBuf, topic: &str, partition: u32, max_segment_size: u64, ) -> Result<Self>
pub async fn append(&mut self, offset: u64, message: Message) -> Result<u64>
pub async fn read(&self, offset: u64, max_bytes: usize) -> Result<Vec<Message>>
pub fn earliest_offset(&self) -> u64
pub async fn recover_next_offset(&self) -> Result<u64>
Sourcepub async fn find_offset_for_timestamp(
&self,
target_timestamp: i64,
) -> Result<Option<u64>>
pub async fn find_offset_for_timestamp( &self, target_timestamp: i64, ) -> Result<Option<u64>>
Find the first offset with timestamp >= target_timestamp (milliseconds since epoch) Scans through segments to find the earliest message matching the timestamp. Returns None if no matching offset is found.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for LogManager
impl !RefUnwindSafe for LogManager
impl Send for LogManager
impl Sync for LogManager
impl Unpin for LogManager
impl !UnwindSafe for LogManager
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