Skip to main content

ConfigValueGroup

Struct ConfigValueGroup 

Source
pub struct ConfigValueGroup {
    pub min_reconstruction_fetch_size: ByteSize,
    pub max_reconstruction_fetch_size: ByteSize,
    pub download_buffer_size: ByteSize,
    pub download_buffer_perfile_size: ByteSize,
    pub download_buffer_limit: ByteSize,
    pub completion_rate_estimator_half_life: f64,
    pub target_block_completion_time: Duration,
    pub min_prefetch_buffer: ByteSize,
    pub use_vectored_write: bool,
}
Expand description

ConfigValueGroup struct containing all configurable values

Fields§

§min_reconstruction_fetch_size: ByteSize

The minimum size of a single fetch request during reconstruction. Individual fetches will request reconstruction terms representing at least this amount of data.

The default value is 256MB.

Use the environment variable HF_XET_RECONSTRUCTION_MIN_RECONSTRUCTION_FETCH_SIZE to set this value.

§max_reconstruction_fetch_size: ByteSize

The maximum size of a single fetch request during reconstruction. Individual fetches will not request reconstruction terms representing more than this amount of data.

The default value is 8GB.

Use the environment variable HF_XET_RECONSTRUCTION_MAX_RECONSTRUCTION_FETCH_SIZE to set this value.

§download_buffer_size: ByteSize

The amount of download buffer always available for file reconstruction. The full buffer size will be this plus the number of simultaneous active file downloads times the per file size up to the global limit of download_buffer_limit.

The default value is 2GB.

Use the environment variable HF_XET_RECONSTRUCTION_DOWNLOAD_BUFFER_SIZE to set this value.

§download_buffer_perfile_size: ByteSize

The additional download buffer allocated per active file download. Each active file download increases the total buffer by this amount.

The default value is 512MB.

Use the environment variable HF_XET_RECONSTRUCTION_DOWNLOAD_BUFFER_PERFILE_SIZE to set this value.

§download_buffer_limit: ByteSize

The maximum total download buffer allowed during file reconstruction. The buffer will not grow beyond this limit regardless of the number of concurrent downloads.

The default value is 8GB.

Use the environment variable HF_XET_RECONSTRUCTION_DOWNLOAD_BUFFER_LIMIT to set this value.

§completion_rate_estimator_half_life: f64

The half-life in count of observations for the exponentially weighted moving average used to estimate completion rate during reconstruction prefetching.

The default value is 4 observations..

Use the environment variable HF_XET_RECONSTRUCTION_COMPLETION_RATE_ESTIMATOR_HALF_LIFE to set this value.

§target_block_completion_time: Duration

The target time for completing a prefetch block during reconstruction. This is used to determine how much data to prefetch ahead.

The default value is 15 minutes.

Use the environment variable HF_XET_RECONSTRUCTION_TARGET_BLOCK_COMPLETION_TIME to set this value.

§min_prefetch_buffer: ByteSize

The minimum size of the prefetch buffer during reconstruction. The prefetch system will maintain terms representing at least this much always prefetched, no matter the estimated completion time.

The default value is 1gb.

Use the environment variable HF_XET_RECONSTRUCTION_MIN_PREFETCH_BUFFER to set this value.

§use_vectored_write: bool

Whether to use vectorized writes (write_vectored) during file reconstruction. When true, multiple pending writes are batched and written using write_vectored. When false, standard sequential writes are used.

The default value is true.

Use the environment variable HF_XET_RECONSTRUCTION_USE_VECTORED_WRITE to set this value.

Implementations§

Source§

impl ConfigValueGroup

Source

pub fn new() -> Self

Create a new instance with default values only (no environment variable overrides).

Source

pub fn apply_env_overrides(&mut self)

Apply environment variable overrides to this configuration group.

The group name is derived from the module path. For example, in module xet_config::groups::data, the env var for TEST_INT would be HF_XET_DATA_TEST_INT.

Source

pub fn field_names() -> &'static [&'static str]

Returns the list of field names in this configuration group.

Source

pub fn get(&self, name: &str) -> Result<String, ConfigError>

Get a configuration field’s string representation by name.

Trait Implementations§

Source§

impl AsRef<ConfigValueGroup> for ConfigValueGroup

Source§

fn as_ref(&self) -> &ConfigValueGroup

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl Clone for ConfigValueGroup

Source§

fn clone(&self) -> ConfigValueGroup

Returns a duplicate 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 ConfigValueGroup

Source§

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

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

impl Default for ConfigValueGroup

Source§

fn default() -> Self

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

Auto Trait Implementations§

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DropFlavorWrapper<T> for T

Source§

type Flavor = MayDrop

The DropFlavor that wraps T into Self
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, W> HasTypeWitness<W> for T
where W: MakeTypeWitness<Arg = T>, T: ?Sized,

Source§

const WITNESS: W = W::MAKE

A constant of the type witness
Source§

impl<T> Identity for T
where T: ?Sized,

Source§

const TYPE_EQ: TypeEq<T, <T as Identity>::Type> = TypeEq::NEW

Proof that Self is the same type as Self::Type, provides methods for casting between Self and Self::Type.
Source§

type Type = T

The same type as Self, used to emulate type equality bounds (T == U) with associated type equality constraints (T: Identity<Type = U>).
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> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

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 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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

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

impl<E> ResultError for E
where E: Send + Debug + Sync,

Source§

impl<T> ResultType for T
where T: Send + Clone + Sync + Debug,