pub trait Write<Word> {
type Error;
fn bwrite_all(&mut self, buffer: &[Word]) -> Result<(), Self::Error>;
fn bflush(&mut self) -> Result<(), Self::Error>;
}
pub mod write {
pub trait Default<Word>: ::serial::Write<Word> {}
impl<S, Word> ::blocking::serial::Write<Word> for S
where
S : Default<Word>,
Word: Clone,
{
type Error = S::Error;
fn bwrite_all(&mut self, buffer: &[Word]) -> Result<(), Self::Error> {
for word in buffer {
block!(self.write(word.clone()))?;
}
Ok(())
}
fn bflush(&mut self) -> Result<(), Self::Error> {
block!(self.flush())?;
Ok(())
}
}
}