pub trait NetQueue<Item> {
type KeyId;
type Error;
// Required methods
fn insert(
&mut self,
item: Item,
) -> Result<Self::KeyId, NetQueueError<Self::Error>>;
fn remove(
&mut self,
key: Self::KeyId,
) -> Result<Item, NetQueueError<Self::Error>>;
fn get(
&mut self,
key: Self::KeyId,
) -> Result<&Item, NetQueueError<Self::Error>>;
fn flush(&mut self) -> Result<Vec<Item>, NetQueueError<Self::Error>>;
}
Required Associated Types§
Required Methods§
Sourcefn insert(
&mut self,
item: Item,
) -> Result<Self::KeyId, NetQueueError<Self::Error>>
fn insert( &mut self, item: Item, ) -> Result<Self::KeyId, NetQueueError<Self::Error>>
Inserts Item
into the queue, given the conditions are fulfilled.
Sourcefn remove(
&mut self,
key: Self::KeyId,
) -> Result<Item, NetQueueError<Self::Error>>
fn remove( &mut self, key: Self::KeyId, ) -> Result<Item, NetQueueError<Self::Error>>
Remove an Item
from the queue by providing an instance of Self::KeyId