Skip to main content

JournalReader

Struct JournalReader 

Source
pub struct JournalReader<'a, M>
where M: MemoryMap,
{ /* private fields */ }

Implementations§

Source§

impl<'a, M> JournalReader<'a, M>
where M: MemoryMap,

Source

pub fn dump( &self, _journal_file: &'a JournalFile<M>, ) -> Result<String, JournalError>

Source

pub fn set_location(&mut self, location: Location)

Source

pub fn step( &mut self, journal_file: &'a JournalFile<M>, direction: Direction, ) -> Result<bool, JournalError>

Source

pub fn build_filter( &mut self, journal_file: &JournalFile<M>, ) -> Result<Option<FilterExpr>, JournalError>

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.

Source

pub fn add_match(&mut self, data: &[u8])

Source

pub fn add_conjunction( &mut self, journal_file: &'a JournalFile<M>, ) -> Result<(), JournalError>

Source

pub fn add_disjunction( &mut self, journal_file: &'a JournalFile<M>, ) -> Result<(), JournalError>

Source

pub fn flush_matches(&mut self)

Source

pub fn get_realtime_usec( &self, journal_file: &'a JournalFile<M>, ) -> Result<u64, JournalError>

Source

pub fn get_seqnum( &self, journal_file: &'a JournalFile<M>, ) -> Result<(u64, [u8; 16]), JournalError>

Source

pub fn get_entry_offset(&self) -> Result<NonZero<u64>, JournalError>

Source

pub fn fields_restart(&mut self)

Source

pub fn fields_enumerate( &mut self, journal_file: &'a JournalFile<M>, ) -> Result<Option<&ValueGuard<'_, FieldObject<&'a [u8]>>>, JournalError>

Source

pub fn field_data_query_unique( &mut self, journal_file: &'a JournalFile<M>, field_name: &'a [u8], ) -> Result<(), JournalError>

Source

pub fn field_data_restart(&mut self)

Source

pub fn field_data_enumerate( &mut self, _: &'a JournalFile<M>, ) -> Result<Option<&ValueGuard<'_, DataObject<&'a [u8]>>>, JournalError>

Source

pub fn entry_data_restart(&mut self)

Source

pub fn entry_data_enumerate( &mut self, journal_file: &'a JournalFile<M>, ) -> Result<Option<&ValueGuard<'_, DataObject<&'a [u8]>>>, JournalError>

Source

pub fn data_object_at( &mut self, journal_file: &'a JournalFile<M>, data_offset: NonZero<u64>, ) -> Result<&ValueGuard<'_, DataObject<&'a [u8]>>, JournalError>

Source

pub fn entry_data_offsets( &self, journal_file: &'a JournalFile<M>, data_offsets: &mut Vec<NonZero<u64>>, ) -> Result<(), JournalError>

Trait Implementations§

Source§

impl<M> Debug for JournalReader<'_, M>
where M: MemoryMap,

Source§

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

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

impl<M> Default for JournalReader<'_, M>
where M: MemoryMap,

Source§

fn default() -> JournalReader<'_, M>

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

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> 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> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> Same for T

Source§

type Output = T

Should always be Self
Source§

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

Source§

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>,

Source§

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.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more