1 2 3 4 5 6 7 8 9 10 11 12 13 14
use crate::advertisement::RawAdvertisement; pub trait ScannerSink { fn consume_advertisement(&mut self, advertisement: &RawAdvertisement); } pub trait Scanner<Sink: ScannerSink> { fn take_sink(&mut self, sink: Sink); } pub enum AdvertiserError { IOError, } pub trait Advertiser { fn advertise(&mut self, advertisement: &RawAdvertisement) -> Result<(), AdvertiserError>; }