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
use std::marker::PhantomData; use riker::model::Model; use riker::protocol::Message; use riker::system::NoIo; pub use riker_dispatcher::ThreadPoolDispatcher; pub use riker_log::SimpleLogger; pub use riker_deadletter::DeadLettersActor; pub use riker_mapvec::MapVec; pub use riker_timer::BasicTimer; #[derive(Clone)] pub struct DefaultModel<Msg: Message> { msg: PhantomData<Msg>, } impl<Msg: Message> DefaultModel<Msg> { pub fn new() -> Self { DefaultModel { msg: PhantomData } } } impl<Msg: Message> Model for DefaultModel<Msg> { type Msg = Msg; type Dis = ThreadPoolDispatcher; type Ded = DeadLettersActor<Self::Msg>; type Tmr = BasicTimer<Self::Msg>; type Evs = MapVec<Self::Msg>; type Tcp = NoIo<Self::Msg>; type Udp = NoIo<Self::Msg>; type Log = SimpleLogger<Self::Msg>; }