pub enum MemoryBudget {
Auto,
Bytes(u64),
PercentTotal(f64),
PercentAvailable(f64),
}Expand description
A requested memory limit.
Variants§
Auto
Automatically use 80% of currently available memory.
Bytes(u64)
An absolute number of bytes.
PercentTotal(f64)
A fraction in (0, 1] of total physical capacity.
PercentAvailable(f64)
A fraction in (0, 1] of currently available capacity.
Implementations§
Source§impl MemoryBudget
impl MemoryBudget
Sourcepub const fn bytes(bytes: u64) -> MemoryBudget
pub const fn bytes(bytes: u64) -> MemoryBudget
Creates an absolute byte budget.
Sourcepub fn percent_total(percent: f64) -> Result<MemoryBudget, MemoryError>
pub fn percent_total(percent: f64) -> Result<MemoryBudget, MemoryError>
Creates a percentage-of-total budget.
§Errors
Returns MemoryError::InvalidBudget unless percent is in (0, 100].
Sourcepub fn percent_available(percent: f64) -> Result<MemoryBudget, MemoryError>
pub fn percent_available(percent: f64) -> Result<MemoryBudget, MemoryError>
Creates a percentage-of-available budget.
§Errors
Returns MemoryError::InvalidBudget unless percent is in (0, 100].
Sourcepub fn resolve(self, resource: &MemoryResource) -> Result<u64, MemoryError>
pub fn resolve(self, resource: &MemoryResource) -> Result<u64, MemoryError>
Resolves this request for a resource snapshot.
§Errors
Returns an error for zero budgets, invalid percentages, or unavailable capacity telemetry.
Trait Implementations§
Source§impl Clone for MemoryBudget
impl Clone for MemoryBudget
Source§fn clone(&self) -> MemoryBudget
fn clone(&self) -> MemoryBudget
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for MemoryBudget
Source§impl Debug for MemoryBudget
impl Debug for MemoryBudget
Source§impl Default for MemoryBudget
impl Default for MemoryBudget
Source§fn default() -> MemoryBudget
fn default() -> MemoryBudget
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for MemoryBudget
impl<'de> Deserialize<'de> for MemoryBudget
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<MemoryBudget, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<MemoryBudget, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Display for MemoryBudget
impl Display for MemoryBudget
Source§impl FromStr for MemoryBudget
impl FromStr for MemoryBudget
Source§type Err = MemoryError
type Err = MemoryError
The associated error which can be returned from parsing.
Source§fn from_str(input: &str) -> Result<MemoryBudget, <MemoryBudget as FromStr>::Err>
fn from_str(input: &str) -> Result<MemoryBudget, <MemoryBudget as FromStr>::Err>
Parses a string
s to return a value of this type. Read moreSource§impl PartialEq for MemoryBudget
impl PartialEq for MemoryBudget
Source§impl Serialize for MemoryBudget
impl Serialize for MemoryBudget
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl StructuralPartialEq for MemoryBudget
Auto Trait Implementations§
impl Freeze for MemoryBudget
impl RefUnwindSafe for MemoryBudget
impl Send for MemoryBudget
impl Sync for MemoryBudget
impl Unpin for MemoryBudget
impl UnsafeUnpin for MemoryBudget
impl UnwindSafe for MemoryBudget
Blanket Implementations§
impl<T> Allocation for T
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<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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
impl<T> Scalar for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.