pub enum Chunking {
SingleRange {
start: Bound,
end: Bound,
},
DeltaList {
deltas: Vec<Bound>,
},
}Expand description
The chunking part of a spec — the shape that carves a domain into partitions. Two shapes:
Chunking::SingleRange— Form 1: an explicitstart..endinterval. Always exactly one partition at resolve time.Chunking::DeltaList— Forms 2 and 3: an ordered list of per-partition delta sizes, walked left-to-right from the domain’s start. Pre-baked recipes (bin:5,fib:7, etc.) parse into normalised percentage deltas.
Variants§
SingleRange
start..end form. Single partition spanning the named
boundary, regardless of either endpoint’s Bound kind.
DeltaList
Comma-separated delta list. Each entry is the delta
from the running start; a single tail token is allowed
per list and resolves against whatever’s left after the
sized deltas are applied: Bound::Star takes it as
one partition, Bound::Fill repeats the preceding
delta until the extent is used up, Bound::StarSplit
divides it into n near-equal partitions,
Bound::StarShaped divides it by recipe weights.
Bound::Gap entries consume extent without emitting.
Deltas summing to less than the extent (without a tail
token) drop the trailing gap; summing to more is a
resolve-time error.
Trait Implementations§
impl StructuralPartialEq for Chunking
Auto Trait Implementations§
impl Freeze for Chunking
impl RefUnwindSafe for Chunking
impl Send for Chunking
impl Sync for Chunking
impl Unpin for Chunking
impl UnsafeUnpin for Chunking
impl UnwindSafe for Chunking
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more