pub trait AuxiliaryDoubleStorageWrap {
    type Key1: Ord + Clone;
    type Key2: Ord + Clone;
    type Value: Clone;

    // Required methods
    fn with_storage<F, R>(f: F) -> R
       where F: FnOnce(&DoubleBTreeMap<Self::Key1, Self::Key2, Self::Value>) -> R;
    fn with_storage_mut<F, R>(f: F) -> R
       where F: FnOnce(&mut DoubleBTreeMap<Self::Key1, Self::Key2, Self::Value>) -> R;
}
Expand description

An auxiliary storage wrapper type.

Implements DoubleMapStorage and traits like IterableByKeyMap for such type automatically.

Required Associated Types§

Required Methods§

source

fn with_storage<F, R>(f: F) -> R
where F: FnOnce(&DoubleBTreeMap<Self::Key1, Self::Key2, Self::Value>) -> R,

source

fn with_storage_mut<F, R>(f: F) -> R
where F: FnOnce(&mut DoubleBTreeMap<Self::Key1, Self::Key2, Self::Value>) -> R,

Object Safety§

This trait is not object safe.

Implementors§

source§

impl AuxiliaryDoubleStorageWrap for MailboxStorageWrap

§

type Key1 = ActorId

§

type Key2 = MessageId

§

type Value = (UserStoredMessage, Interval<u32>)

source§

impl AuxiliaryDoubleStorageWrap for TaskPoolStorageWrap

§

type Key1 = u32

§

type Key2 = ScheduledTask<ActorId, MessageId, bool>

§

type Value = ()

source§

impl AuxiliaryDoubleStorageWrap for WaitlistStorageWrap

§

type Key1 = ActorId

§

type Key2 = MessageId

§

type Value = (StoredDispatch, Interval<u32>)