pub struct JournalReader<'a, M: MemoryMap> { /* private fields */ }Implementations§
Source§impl<'a, M: MemoryMap> JournalReader<'a, M>
impl<'a, M: MemoryMap> JournalReader<'a, M>
pub fn dump(&self, _journal_file: &'a JournalFile<M>) -> Result<String>
pub fn set_location(&mut self, location: Location)
pub fn step( &mut self, journal_file: &'a JournalFile<M>, direction: Direction, ) -> Result<bool>
Sourcepub fn build_filter(
&mut self,
journal_file: &JournalFile<M>,
) -> Result<Option<FilterExpr>>
pub fn build_filter( &mut self, journal_file: &JournalFile<M>, ) -> Result<Option<FilterExpr>>
Build the pending filter expression (if any) and return it.
After add_match / add_disjunction calls, the filter is stored inside
the reader in an unresolved form. This method resolves it against
journal_file’s hash table and returns the resulting FilterExpr.
On success, the internal pending filter is consumed; subsequent calls
return Ok(None) until new matches are added. If resolution fails, the
pending filter remains installed so the caller can retry or fall back.
This is useful when the caller wants to drive iteration through
JournalCursor directly rather than through JournalReader::step.
The returned filter is not installed on the reader cursor; callers that
need cursor-based iteration should set it on their own cursor.
pub fn add_match(&mut self, data: &[u8])
pub fn add_conjunction( &mut self, journal_file: &'a JournalFile<M>, ) -> Result<()>
pub fn add_disjunction( &mut self, journal_file: &'a JournalFile<M>, ) -> Result<()>
pub fn flush_matches(&mut self)
pub fn get_realtime_usec(&self, journal_file: &'a JournalFile<M>) -> Result<u64>
pub fn get_seqnum( &self, journal_file: &'a JournalFile<M>, ) -> Result<(u64, [u8; 16])>
pub fn get_entry_offset(&self) -> Result<NonZeroU64>
pub fn fields_restart(&mut self)
pub fn fields_enumerate( &mut self, journal_file: &'a JournalFile<M>, ) -> Result<Option<&ValueGuard<'_, FieldObject<&'a [u8]>>>>
pub fn field_data_query_unique( &mut self, journal_file: &'a JournalFile<M>, field_name: &'a [u8], ) -> Result<()>
pub fn field_data_restart(&mut self)
pub fn field_data_enumerate( &mut self, _: &'a JournalFile<M>, ) -> Result<Option<&ValueGuard<'_, DataObject<&'a [u8]>>>>
pub fn entry_data_restart(&mut self)
pub fn entry_data_enumerate( &mut self, journal_file: &'a JournalFile<M>, ) -> Result<Option<&ValueGuard<'_, DataObject<&'a [u8]>>>>
pub fn data_object_at( &mut self, journal_file: &'a JournalFile<M>, data_offset: NonZeroU64, ) -> Result<&ValueGuard<'_, DataObject<&'a [u8]>>>
pub fn entry_data_offsets( &self, journal_file: &'a JournalFile<M>, data_offsets: &mut Vec<NonZeroU64>, ) -> Result<()>
Trait Implementations§
Source§impl<M: MemoryMap> Debug for JournalReader<'_, M>
impl<M: MemoryMap> Debug for JournalReader<'_, M>
Auto Trait Implementations§
impl<'a, M> !RefUnwindSafe for JournalReader<'a, M>
impl<'a, M> !Send for JournalReader<'a, M>
impl<'a, M> !Sync for JournalReader<'a, M>
impl<'a, M> !UnwindSafe for JournalReader<'a, M>
impl<'a, M> Freeze for JournalReader<'a, M>
impl<'a, M> Unpin for JournalReader<'a, M>
impl<'a, M> UnsafeUnpin for JournalReader<'a, M>
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
Mutably borrows from an owned value. Read more