[][src]Struct rubble::link::filter::WhitelistFilter

pub struct WhitelistFilter<I: Iterator<Item = DeviceAddress> + Clone> { /* fields omitted */ }

An AddressFilter that checks device addresses against a whitelist.

This is a software filter, which allows checking against arbitrarily many device addresses, but might be less efficient than a hardware-based filter.

Methods

impl<I: Iterator<Item = DeviceAddress> + Clone> WhitelistFilter<I>[src]

pub fn new(allowed_addresses: I) -> Self[src]

Creates a device whitelist from an iterator yielding the allowed device addresses.

The filter will clone and iterate over allowed_addresses for each incoming packet that needs to be checked against the filter.

impl<'a> WhitelistFilter<SliceIter<'a>>[src]

pub fn from_slice(addresses: &'a [DeviceAddress]) -> Self[src]

Creates a device whitelist from a slice of device addresses.

This is a convenience method provided to simplify using a slice as a device address whitelist.

impl WhitelistFilter<SingleIter>[src]

pub fn from_address(address: DeviceAddress) -> Self[src]

Creates a device whitelist that will allow a single device.

Trait Implementations

impl<I: Iterator<Item = DeviceAddress> + Clone> AddressFilter for WhitelistFilter<I>[src]

Auto Trait Implementations

impl<I> Send for WhitelistFilter<I> where
    I: Send

impl<I> Sync for WhitelistFilter<I> where
    I: Sync

Blanket Implementations

impl<T> From for T[src]

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]