1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
use crate::rmb; use crate::transport::{Transport,Bandwidth}; pub struct TransportLocal { name: &'static str, bw: Bandwidth, } impl TransportLocal { pub fn new() -> TransportLocal { TransportLocal { name: "local", bw: Bandwidth::Medium } } pub fn init(&self) -> Result<String, String> { Ok("Success".to_string()) } } impl<'a> Transport for TransportLocal { fn name(&self) -> &'static str { &self.name } fn bandwidth(&self) -> &Bandwidth { &self.bw } fn register(&self, _channels: &std::ops::Range<rmb::Channel>, _handler: fn(rmb::Channel, &dyn rmb::Msg)-> Result<String, String>) -> Result<String, String> { Ok("Success".to_string()) } fn publish(&self, _ch: rmb::Channel, _msg: &dyn rmb::Msg) -> Result<String, String> { Ok("Success".to_string()) } } #[cfg(test)] mod tests { use crate::transport::local; #[test] fn test_init() { let t = local::TransportLocal::new(); t.init().unwrap(); } }