pub struct MemoryQuotaTracker { /* private fields */ }Expand description
Memory data tracker
Instance of the memory quota system.
Usually found as Arc<MemoryQuotaTracker>.
Implementations§
Source§impl MemoryQuotaTracker
impl MemoryQuotaTracker
Sourcepub fn new<R: Spawn>(
runtime: &R,
config: Config,
) -> Result<Arc<Self>, StartupError>
pub fn new<R: Spawn>( runtime: &R, config: Config, ) -> Result<Arc<Self>, StartupError>
Set up a new MemoryDataTracker
Sourcepub fn reconfigure(
&self,
new_config: Config,
how: Reconfigure,
) -> Result<(), ReconfigureError>
pub fn reconfigure( &self, new_config: Config, how: Reconfigure, ) -> Result<(), ReconfigureError>
Reconfigure
Sourcepub fn used_current_approx(&self) -> Result<usize, TrackerCorrupted>
pub fn used_current_approx(&self) -> Result<usize, TrackerCorrupted>
Returns an estimate of the total memory use
The returned value is:
- Approximate.
- A snapshot as of the current moment (and there is no way to await changes)
- Always
usize::MAXfor a no-op tracker
Sourcepub fn new_account(
self: &Arc<Self>,
parent: Option<&Account>,
) -> Result<Account>
pub fn new_account( self: &Arc<Self>, parent: Option<&Account>, ) -> Result<Account>
Make a new Account
To actually record memory usage, a Participant must be added.
At most call sites, take an Account rather than a MemoryQuotaTracker,
and use Account::new_child().
That improves the ability to manage the hierarchy of Participants.
Sourcepub fn new_noop() -> Arc<MemoryQuotaTracker>
pub fn new_noop() -> Arc<MemoryQuotaTracker>
Obtain a new MemoryQuotaTracker that doesn’t track anything and never reclaims
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for MemoryQuotaTracker
impl RefUnwindSafe for MemoryQuotaTracker
impl Send for MemoryQuotaTracker
impl Sync for MemoryQuotaTracker
impl Unpin for MemoryQuotaTracker
impl UnwindSafe for MemoryQuotaTracker
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
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
Source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
Source§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
impl<T> ErasedDestructor for Twhere
T: 'static,
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 104 bytes