Enum SizeBucket
pub enum SizeBucket {
Tiny,
Small,
Medium,
Large,
Huge,
}Expand description
Size bucket for stratified pooling.
Provides predefined size classes for efficient multi-size pooling. Allocations are rounded up to the smallest bucket that fits.
Variants§
Tiny
Tiny buffers (256 bytes) - metadata, small messages.
Small
Small buffers (1 KB) - typical message payloads.
Medium
Medium buffers (4 KB) - page-sized allocations.
Large
Large buffers (16 KB) - batch operations.
Huge
Huge buffers (64 KB) - large transfers.
Implementations§
§impl SizeBucket
impl SizeBucket
pub const ALL: [SizeBucket; 5]
pub const ALL: [SizeBucket; 5]
All bucket variants in order from smallest to largest.
pub fn for_size(requested: usize) -> SizeBucket
pub fn for_size(requested: usize) -> SizeBucket
Find the smallest bucket that fits the requested size.
Returns Huge for any size larger than 16KB.
pub fn upgrade(&self) -> SizeBucket
pub fn upgrade(&self) -> SizeBucket
Get the next larger bucket, or self if already at largest.
pub fn downgrade(&self) -> SizeBucket
pub fn downgrade(&self) -> SizeBucket
Get the next smaller bucket, or self if already at smallest.
Trait Implementations§
§impl Clone for SizeBucket
impl Clone for SizeBucket
§fn clone(&self) -> SizeBucket
fn clone(&self) -> SizeBucket
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read more§impl Debug for SizeBucket
impl Debug for SizeBucket
§impl Default for SizeBucket
impl Default for SizeBucket
§fn default() -> SizeBucket
fn default() -> SizeBucket
Returns the “default value” for a type. Read more
§impl Display for SizeBucket
impl Display for SizeBucket
§impl Hash for SizeBucket
impl Hash for SizeBucket
§impl PartialEq for SizeBucket
impl PartialEq for SizeBucket
impl Copy for SizeBucket
impl Eq for SizeBucket
impl StructuralPartialEq for SizeBucket
Auto Trait Implementations§
impl Freeze for SizeBucket
impl RefUnwindSafe for SizeBucket
impl Send for SizeBucket
impl Sync for SizeBucket
impl Unpin for SizeBucket
impl UnwindSafe for SizeBucket
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
Mutably borrows from an owned value. Read more
§impl<T> CallHasher for T
impl<T> CallHasher for T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
§fn deserialize(
&self,
deserializer: &mut D,
) -> Result<With<T, W>, <D as Fallible>::Error>
fn deserialize( &self, deserializer: &mut D, ) -> Result<With<T, W>, <D as Fallible>::Error>
Deserializes using the given deserializer
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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>
Converts
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>
Converts
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§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Gets the layout of the type.