mutnet/ipv6_extensions/
metadata_trait.rs1use crate::ipv6_extensions::{Ipv6ExtensionIndexOutOfBoundsError, Ipv6ExtensionMetadata};
4
5pub(crate) trait Ipv6ExtMetaData<const MAX_EXTENSIONS: usize> {
6 fn extensions_array(&self) -> &[Ipv6ExtensionMetadata; MAX_EXTENSIONS];
7 fn extension(
8 &self,
9 idx: usize,
10 ) -> Result<Ipv6ExtensionMetadata, Ipv6ExtensionIndexOutOfBoundsError>;
11 fn extensions_amount(&self) -> usize;
12}
13
14pub(crate) trait Ipv6ExtMetaDataMut<const MAX_EXTENSIONS: usize> {
15 fn extensions_array_mut(&mut self) -> &mut [Ipv6ExtensionMetadata; MAX_EXTENSIONS];
16}