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>;
}