Skip to main content

Source

Trait Source 

Source
pub trait Source: Send + Sync {
Show 13 methods // Required methods fn len(&self) -> usize; fn bytes(&self, range: Range<usize>) -> Cow<'_, [u8]>; fn is_complete(&self) -> bool; // Provided methods fn is_empty(&self) -> bool { ... } fn pump(&self) { ... } fn revision(&self) -> u64 { ... } fn prettify_mode(&self) -> Option<PrettifyMode> { ... } fn prettify_label(&self) -> Option<String> { ... } fn set_prettify_mode(&self, _mode: PrettifyMode) { ... } fn toggle_prettify(&self) { ... } fn redetect_prettify(&self) { ... } fn take_rotated(&self) -> bool { ... } fn path(&self) -> Option<&Path> { ... }
}

Required Methods§

Source

fn len(&self) -> usize

Source

fn bytes(&self, range: Range<usize>) -> Cow<'_, [u8]>

Source

fn is_complete(&self) -> bool

Provided Methods§

Source

fn is_empty(&self) -> bool

Source

fn pump(&self)

Read any new bytes that have become available since the last call. Default no-op for static sources. Streaming sources override.

Source

fn revision(&self) -> u64

Monotonic counter that bumps whenever the source’s content has been replaced wholesale (as opposed to merely appended to). Append-style sources keep this at 0; LiveFileSource increments it on each detected rewrite so the event loop knows to rebuild the line index instead of just folding in new bytes.

Source

fn prettify_mode(&self) -> Option<PrettifyMode>

Current prettify mode if this source has a TransformingSource wrapper. None means the source is not capable of prettification (e.g. a plain FileSource). Some(Off) means wrapped but currently raw.

Source

fn prettify_label(&self) -> Option<String>

Status-line label for the active prettify state, e.g. "json" or "json:err". None when there’s no wrapper or the mode is Off without an error.

Source

fn set_prettify_mode(&self, _mode: PrettifyMode)

Switch to a specific prettify mode. No-op for sources without a wrapper. Bumps revision() so callers know to rebuild the line index.

Source

fn toggle_prettify(&self)

Flip between the current mode and the last active (non-Off) mode. No-op if the source is not wrapped, or if it has never had an active mode (i.e. only ever been raw).

Source

fn redetect_prettify(&self)

Re-run byte-based content detection and apply the result. Used by the interactive -Pa (“auto”) sub-command. No-op without a wrapper.

Source

fn take_rotated(&self) -> bool

Returns true once when the source detected that its backing file was rotated or truncated. Append-style sources always return false. FileSource overrides this and consumes the flag on each call so the app loop only reacts once per event.

Source

fn path(&self) -> Option<&Path>

Source’s on-disk path, when one exists. Used by the app loop to re-open the source after take_rotated() returns true. None for stdin / mock sources.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§