pub trait PacketMetricStorage {
type Metric: Copy;
// Required methods
fn capacity(&self) -> NonZeroUsize;
fn len(&self) -> usize;
fn append(&mut self, packet_hash: PacketHash, metric: Self::Metric);
fn replace(
&mut self,
slot: usize,
packet_hash: PacketHash,
metric: Self::Metric,
);
fn get(&self, packet_hash: PacketHash) -> Option<Self::Metric>;
// Provided method
fn is_empty(&self) -> bool { ... }
}Required Associated Types§
Required Methods§
fn capacity(&self) -> NonZeroUsize
fn len(&self) -> usize
fn append(&mut self, packet_hash: PacketHash, metric: Self::Metric)
fn replace( &mut self, slot: usize, packet_hash: PacketHash, metric: Self::Metric, )
fn get(&self, packet_hash: PacketHash) -> Option<Self::Metric>
Provided Methods§
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".