1use crate::errors::Result; 2use crate::events::InputEvent; 3 4pub trait InputEventSource: Send { 5 fn recv(&mut self) -> Result<InputEvent>; 6} 7 8pub trait InputEventSink: Send { 9 fn send(&mut self, e: InputEvent) -> Result<()>; 10}