Struct treebitmap::IpLookupTable
[−]
[src]
pub struct IpLookupTable<A, T> { /* fields omitted */ }
A fast, compressed IP lookup table.
Methods
impl<A, T> IpLookupTable<A, T>
[src]
fn new() -> Self
Initialize an empty lookup table with no preallocation.
fn with_capacity(n: usize) -> Self
Initialize an empty lookup table with pre-allocated buffers.
fn mem_usage(&self) -> (usize, usize)
Return the bytes used by nodes and results.
Trait Implementations
impl<T: Sized> IpLookupTableOps<Ipv4Addr, T> for IpLookupTable<Ipv4Addr, T>
[src]
fn insert(&mut self, ip: Ipv4Addr, masklen: u32, value: T) -> Option<T>
Insert a value for the prefix designated by ip and masklen. If prefix existed previously, the old value is returned. # Example ``` use treebitmap::{IpLookupTable, IpLookupTableOps}; use std::net::Ipv6Addr; Read more
fn remove(&mut self, ip: Ipv4Addr, masklen: u32) -> Option<T>
Remove an entry from the lookup table. If the prefix existed previously, the value is returned. # Example ``` use treebitmap::{IpLookupTable, IpLookupTableOps}; use std::net::Ipv6Addr; Read more
fn exact_match(&self, ip: Ipv4Addr, masklen: u32) -> Option<&T>
Perform exact match lookup of ip
/masklen
and return the value. # Example ``` use treebitmap::{IpLookupTable, IpLookupTableOps}; use std::net::Ipv6Addr; Read more
fn longest_match(&self, ip: Ipv4Addr) -> Option<(Ipv4Addr, u32, &T)>
Perform longest match lookup of ip
and return the best matching prefix, designated by ip, masklen, along with its value. # Example ``` use treebitmap::{IpLookupTable, IpLookupTableOps}; use std::net::Ipv6Addr; Read more
fn iter(&self) -> Iter<Ipv4Addr, T>
Returns iterator over prefixes and values. # Example ``` use treebitmap::{IpLookupTable, IpLookupTableOps}; use std::net::Ipv6Addr; Read more
fn iter_mut(&self) -> IterMut<Ipv4Addr, T>
Mutable version of iter()
impl<T> IntoIterator for IpLookupTable<Ipv4Addr, T>
[src]
type Item = (Ipv4Addr, u32, T)
The type of the elements being iterated over.
type IntoIter = IntoIter<Ipv4Addr, T>
Which kind of iterator are we turning this into?
fn into_iter(self) -> IntoIter<Ipv4Addr, T>
Creates an iterator from a value. Read more
impl<T: Sized> IpLookupTableOps<Ipv6Addr, T> for IpLookupTable<Ipv6Addr, T>
[src]
fn insert(&mut self, ip: Ipv6Addr, masklen: u32, value: T) -> Option<T>
Insert a value for the prefix designated by ip and masklen. If prefix existed previously, the old value is returned. # Example ``` use treebitmap::{IpLookupTable, IpLookupTableOps}; use std::net::Ipv6Addr; Read more
fn remove(&mut self, ip: Ipv6Addr, masklen: u32) -> Option<T>
Remove an entry from the lookup table. If the prefix existed previously, the value is returned. # Example ``` use treebitmap::{IpLookupTable, IpLookupTableOps}; use std::net::Ipv6Addr; Read more
fn exact_match(&self, ip: Ipv6Addr, masklen: u32) -> Option<&T>
Perform exact match lookup of ip
/masklen
and return the value. # Example ``` use treebitmap::{IpLookupTable, IpLookupTableOps}; use std::net::Ipv6Addr; Read more
fn longest_match(&self, ip: Ipv6Addr) -> Option<(Ipv6Addr, u32, &T)>
Perform longest match lookup of ip
and return the best matching prefix, designated by ip, masklen, along with its value. # Example ``` use treebitmap::{IpLookupTable, IpLookupTableOps}; use std::net::Ipv6Addr; Read more
fn iter(&self) -> Iter<Ipv6Addr, T>
Returns iterator over prefixes and values. # Example ``` use treebitmap::{IpLookupTable, IpLookupTableOps}; use std::net::Ipv6Addr; Read more
fn iter_mut(&self) -> IterMut<Ipv6Addr, T>
Mutable version of iter()