pub struct DecompressionReaderBuilder { /* private fields */ }
Expand description

Configures and builds a streaming reader for decompressing data.

Implementations§

source§

impl DecompressionReaderBuilder

source

pub fn new() -> DecompressionReaderBuilder

Create a new builder with the default configuration.

source

pub fn build<P: AsRef<Path>>( &self, path: P ) -> Result<DecompressionReader, CommandError>

Build a new streaming reader for decompressing data.

If decompression is done out-of-process and if there was a problem spawning the process, then its error is logged at the debug level and a passthru reader is returned that does no decompression. This behavior typically occurs when the given file path matches a decompression command, but is executing in an environment where the decompression command is not available.

If the given file path could not be matched with a decompression strategy, then a passthru reader is returned that does no decompression.

source

pub fn matcher( &mut self, matcher: DecompressionMatcher ) -> &mut DecompressionReaderBuilder

Set the matcher to use to look up the decompression command for each file path.

A set of sensible rules is enabled by default. Setting this will completely replace the current rules.

source

pub fn get_matcher(&self) -> &DecompressionMatcher

Get the underlying matcher currently used by this builder.

source

pub fn async_stderr(&mut self, yes: bool) -> &mut DecompressionReaderBuilder

When enabled, the reader will asynchronously read the contents of the command’s stderr output. When disabled, stderr is only read after the stdout stream has been exhausted (or if the process quits with an error code).

Note that when enabled, this may require launching an additional thread in order to read stderr. This is done so that the process being executed is never blocked from writing to stdout or stderr. If this is disabled, then it is possible for the process to fill up the stderr buffer and deadlock.

This is enabled by default.

Trait Implementations§

source§

impl Clone for DecompressionReaderBuilder

source§

fn clone(&self) -> DecompressionReaderBuilder

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for DecompressionReaderBuilder

source§

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

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

impl Default for DecompressionReaderBuilder

source§

fn default() -> DecompressionReaderBuilder

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

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere 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, U> Into<U> for Twhere 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> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

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

§

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 Twhere U: TryFrom<T>,

§

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.