Skip to main content

ShardInfo

Struct ShardInfo 

Source
pub struct ShardInfo {
    pub shard_index: u32,
    pub total_shards: u32,
    pub filename: String,
    pub file_size: Option<u64>,
    pub preceding_bytes: Option<u64>,
    pub group_total_bytes: Option<u64>,
}
Expand description

Information about a shard within a sharded model download.

preceding_bytes and group_total_bytes carry the exact byte offsets of this shard within the whole model, so aggregate progress does not have to assume every shard is the same size. GGUF shard sets almost always end with a smaller final shard, and estimating the group total as this_shard_size * shard_count made the percentage both wrong and discontinuous at every shard boundary.

Fields§

§shard_index: u32

0-based index of this shard.

§total_shards: u32

Total number of shards in this model.

§filename: String

The specific filename for this shard.

§file_size: Option<u64>

Size of this shard file in bytes (if known).

§preceding_bytes: Option<u64>

Summed size of every shard before this one (if all sizes are known).

§group_total_bytes: Option<u64>

Summed size of every shard in the group (if all sizes are known).

Implementations§

Source§

impl ShardInfo

Source

pub fn new( shard_index: u32, total_shards: u32, filename: impl Into<String>, ) -> Self

Create a new ShardInfo instance.

Source

pub fn with_size( shard_index: u32, total_shards: u32, filename: impl Into<String>, file_size: u64, ) -> Self

Create a new ShardInfo instance with file size.

Source

pub const fn with_group_offsets(self, preceding: u64, group_total: u64) -> Self

Attach the exact byte offsets of this shard within its group.

Only call this when every shard size in the group is known; a partial offset is worse than none, because the fallback estimate at least stays self-consistent.

Source

pub fn aggregate(&self, shard_downloaded: u64) -> Option<(u64, u64)>

Exact aggregate progress for the group, given this shard’s own progress.

Returns None when the group’s byte layout is unknown, leaving the caller to fall back to an equal-shard-size estimate.

Source

pub fn display(&self) -> String

Format as display string (e.g., “Part 1/3”).

Trait Implementations§

Source§

impl Clone for ShardInfo

Source§

fn clone(&self) -> ShardInfo

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for ShardInfo

Source§

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

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

impl<'de> Deserialize<'de> for ShardInfo

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl PartialEq for ShardInfo

Source§

fn eq(&self, other: &ShardInfo) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for ShardInfo

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl Eq for ShardInfo

Source§

impl StructuralPartialEq for ShardInfo

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

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

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

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

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

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

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

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,