pub struct GasMeter { /* private fields */ }Expand description
Struct to keep track of gas usage
Implementations§
Source§impl GasMeter
impl GasMeter
Sourcepub const RESERVE_PERCENTAGE: u64 = 93u64
pub const RESERVE_PERCENTAGE: u64 = 93u64
Sourcepub fn with_limit(limit: Gas) -> GasMeter
pub fn with_limit(limit: Gas) -> GasMeter
Creates a new GasMeter with given gas limits
Sourcepub fn charge(&mut self, amount: Gas) -> Result<(), GasError>
pub fn charge(&mut self, amount: Gas) -> Result<(), GasError>
Deduct specified amount of gas from the meter
Sourcepub fn limited(&self, limit: Gas) -> GasMeter
pub fn limited(&self, limit: Gas) -> GasMeter
Create a new limited GasMeter.
If limit parameter is 0, default limit is assumed that satisfies
the requirement for obligatory gas reserve (Self::RESERVE_PERCENTAGE
of the gas left).
The limit provided cannot exceed the gas left, if that happens the
total amount of gas is used as limit.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for GasMeter
impl RefUnwindSafe for GasMeter
impl Send for GasMeter
impl Sync for GasMeter
impl Unpin for GasMeter
impl UnwindSafe for GasMeter
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
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>
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
Source§impl<T> Upcastable for T
impl<T> Upcastable for T
Source§fn upcast_any_ref(&self) -> &(dyn Any + 'static)
fn upcast_any_ref(&self) -> &(dyn Any + 'static)
upcast ref
Source§fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
upcast mut ref