[−][src]Struct sunshine_util::share::AtomicShareProfile
Atomic share profile reserves the total share amount every time but (might) have a limit on total reservations
Implementations
impl<Shares: Copy + Default + Parameter + Add<Output = Shares> + Sub<Output = Shares> + Zero> AtomicShareProfile<Shares>
[src]
pub fn total(&self) -> Shares
[src]
pub fn times_reserved(&self) -> u32
[src]
pub fn is_zero(&self) -> bool
[src]
pub fn new_shares(total: Shares) -> AtomicShareProfile<Shares>
[src]
pub fn add_shares(self, amount: Shares) -> AtomicShareProfile<Shares>
[src]
pub fn subtract_shares(self, amount: Shares) -> AtomicShareProfile<Shares>
[src]
pub fn iterate_times_reserved(self, amount: u32) -> AtomicShareProfile<Shares>
[src]
pub fn decrement_times_reserved(self, amount: u32) -> AtomicShareProfile<Shares>
[src]
pub fn lock(self) -> AtomicShareProfile<Shares>
[src]
pub fn unlock(self) -> AtomicShareProfile<Shares>
[src]
pub fn is_unlocked(&self) -> bool
[src]
Trait Implementations
impl<Shares: Copy + Parameter> AccessProfile<Shares> for AtomicShareProfile<Shares>
[src]
impl<Shares: Clone> Clone for AtomicShareProfile<Shares>
[src]
fn clone(&self) -> AtomicShareProfile<Shares>
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<Shares: Copy> Copy for AtomicShareProfile<Shares>
[src]
impl<Shares> Debug for AtomicShareProfile<Shares> where
Shares: Debug,
[src]
Shares: Debug,
impl<Shares> Decode for AtomicShareProfile<Shares> where
Shares: Decode,
Shares: Decode,
[src]
Shares: Decode,
Shares: Decode,
impl<Shares: Default> Default for AtomicShareProfile<Shares>
[src]
fn default() -> AtomicShareProfile<Shares>
[src]
impl<Shares> Encode for AtomicShareProfile<Shares> where
Shares: Encode,
Shares: Encode,
[src]
Shares: Encode,
Shares: Encode,
fn encode_to<EncOut: Output>(&self, dest: &mut EncOut)
[src]
fn size_hint(&self) -> usize
[src]
fn encode(&self) -> Vec<u8>
[src]
fn using_encoded<R, F>(&self, f: F) -> R where
F: FnOnce(&[u8]) -> R,
[src]
F: FnOnce(&[u8]) -> R,
impl<Shares> EncodeLike<AtomicShareProfile<Shares>> for AtomicShareProfile<Shares> where
Shares: Encode,
Shares: Encode,
[src]
Shares: Encode,
Shares: Encode,
impl<Shares: Eq> Eq for AtomicShareProfile<Shares>
[src]
impl<Shares: PartialEq> PartialEq<AtomicShareProfile<Shares>> for AtomicShareProfile<Shares>
[src]
fn eq(&self, other: &AtomicShareProfile<Shares>) -> bool
[src]
fn ne(&self, other: &AtomicShareProfile<Shares>) -> bool
[src]
impl<Shares> StructuralEq for AtomicShareProfile<Shares>
[src]
impl<Shares> StructuralPartialEq for AtomicShareProfile<Shares>
[src]
Auto Trait Implementations
impl<Shares> RefUnwindSafe for AtomicShareProfile<Shares> where
Shares: RefUnwindSafe,
Shares: RefUnwindSafe,
impl<Shares> Send for AtomicShareProfile<Shares> where
Shares: Send,
Shares: Send,
impl<Shares> Sync for AtomicShareProfile<Shares> where
Shares: Sync,
Shares: Sync,
impl<Shares> Unpin for AtomicShareProfile<Shares> where
Shares: Unpin,
Shares: Unpin,
impl<Shares> UnwindSafe for AtomicShareProfile<Shares> where
Shares: UnwindSafe,
Shares: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> CheckedConversion for T
[src]
fn checked_from<T>(t: T) -> Option<Self> where
Self: TryFrom<T>,
[src]
Self: TryFrom<T>,
fn checked_into<T>(self) -> Option<T> where
Self: TryInto<T>,
[src]
Self: TryInto<T>,
impl<T> Clear for T where
T: PartialEq<T> + Eq + Default,
[src]
T: PartialEq<T> + Eq + Default,
impl<T> Clear for T where
T: InitializableFromZeroed + ?Sized,
[src]
T: InitializableFromZeroed + ?Sized,
impl<S> Codec for S where
S: Encode + Decode,
[src]
S: Encode + Decode,
impl<T, X> Decode for X where
T: Decode + Into<X>,
X: WrapperTypeDecode<Wrapped = T>,
[src]
T: Decode + Into<X>,
X: WrapperTypeDecode<Wrapped = T>,
impl<T> DecodeAll for T where
T: Decode,
[src]
T: Decode,
impl<T, X> Encode for X where
T: Encode + ?Sized,
X: WrapperTypeEncode<Target = T>,
[src]
T: Encode + ?Sized,
X: WrapperTypeEncode<Target = T>,
fn size_hint(&self) -> usize
[src]
fn using_encoded<R, F>(&self, f: F) -> R where
F: FnOnce(&[u8]) -> R,
[src]
F: FnOnce(&[u8]) -> R,
fn encode(&self) -> Vec<u8>
[src]
fn encode_to<W>(&self, dest: &mut W) where
W: Output,
[src]
W: Output,
impl<'_, '_, T> EncodeLike<&'_ &'_ T> for T where
T: Encode,
[src]
T: Encode,
impl<'_, T> EncodeLike<&'_ T> for T where
T: Encode,
[src]
T: Encode,
impl<'_, T> EncodeLike<&'_ mut T> for T where
T: Encode,
[src]
T: Encode,
impl<T> EncodeLike<Arc<T>> for T where
T: Encode,
[src]
T: Encode,
impl<T> EncodeLike<Box<T>> for T where
T: Encode,
[src]
T: Encode,
impl<'a, T> EncodeLike<Cow<'a, T>> for T where
T: Encode + ToOwned,
[src]
T: Encode + ToOwned,
impl<T> EncodeLike<Rc<T>> for T where
T: Encode,
[src]
T: Encode,
impl<T> From<T> for T
[src]
impl<S> FullCodec for S where
S: Decode + FullEncode,
[src]
S: Decode + FullEncode,
impl<S> FullEncode for S where
S: Encode + EncodeLike<S>,
[src]
S: Encode + EncodeLike<S>,
impl<T> Hashable for T where
T: Codec,
[src]
T: Codec,
fn blake2_128(&self) -> [u8; 16]
[src]
fn blake2_256(&self) -> [u8; 32]
[src]
fn blake2_128_concat(&self) -> Vec<u8>
[src]
fn twox_128(&self) -> [u8; 16]
[src]
fn twox_256(&self) -> [u8; 32]
[src]
fn twox_64_concat(&self) -> Vec<u8>
[src]
fn identity(&self) -> Vec<u8>
[src]
impl<T> InitializableFromZeroed for T where
T: Default,
[src]
T: Default,
unsafe fn initialize(place: *mut T)
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, Outer> IsWrappedBy<Outer> for T where
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
[src]
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
fn from_ref(outer: &Outer) -> &T
[src]
Get a reference to the inner from the outer.
fn from_mut(outer: &mut Outer) -> &mut T
[src]
Get a mutable reference to the inner from the outer.
impl<T> KeyedVec for T where
T: Codec,
[src]
T: Codec,
impl<T> MaybeDebug for T where
T: Debug,
T: Debug,
impl<T> MaybeDebug for T where
T: Debug,
T: Debug,
impl<T> MaybeRefUnwindSafe for T where
T: RefUnwindSafe,
T: RefUnwindSafe,
impl<T> Member for T where
T: 'static + Clone + PartialEq<T> + Eq + Send + Sync + Debug,
[src]
T: 'static + Clone + PartialEq<T> + Eq + Send + Sync + Debug,
impl<T> Parameter for T where
T: Codec + EncodeLike<T> + Clone + Eq + Debug,
[src]
T: Codec + EncodeLike<T> + Clone + Eq + Debug,
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> SaturatedConversion for T
fn saturated_from<T>(t: T) -> Self where
Self: UniqueSaturatedFrom<T>,
Self: UniqueSaturatedFrom<T>,
fn saturated_into<T>(self) -> T where
Self: UniqueSaturatedInto<T>,
Self: UniqueSaturatedInto<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<S, T> UncheckedInto<T> for S where
T: UncheckedFrom<S>,
[src]
T: UncheckedFrom<S>,
fn unchecked_into(self) -> T
[src]
impl<T, S> UniqueSaturatedInto<T> for S where
S: TryInto<T>,
T: Bounded,
S: TryInto<T>,
T: Bounded,
fn unique_saturated_into(self) -> T
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,