1 use crate::conn::Connection; 2 use crate::conn::ConnectionExt; 3 use alloc::boxed::Box; 4 5 impl<E> Connection for Box<dyn Connection<Error = E>> { 6 type Error = E; 7 write(&mut self, byte: u8) -> Result<(), Self::Error>8 fn write(&mut self, byte: u8) -> Result<(), Self::Error> { 9 (**self).write(byte) 10 } 11 write_all(&mut self, buf: &[u8]) -> Result<(), Self::Error>12 fn write_all(&mut self, buf: &[u8]) -> Result<(), Self::Error> { 13 (**self).write_all(buf) 14 } 15 flush(&mut self) -> Result<(), Self::Error>16 fn flush(&mut self) -> Result<(), Self::Error> { 17 (**self).flush() 18 } 19 on_session_start(&mut self) -> Result<(), Self::Error>20 fn on_session_start(&mut self) -> Result<(), Self::Error> { 21 (**self).on_session_start() 22 } 23 } 24 25 impl<E> Connection for Box<dyn ConnectionExt<Error = E>> { 26 type Error = E; 27 write(&mut self, byte: u8) -> Result<(), Self::Error>28 fn write(&mut self, byte: u8) -> Result<(), Self::Error> { 29 (**self).write(byte) 30 } 31 write_all(&mut self, buf: &[u8]) -> Result<(), Self::Error>32 fn write_all(&mut self, buf: &[u8]) -> Result<(), Self::Error> { 33 (**self).write_all(buf) 34 } 35 flush(&mut self) -> Result<(), Self::Error>36 fn flush(&mut self) -> Result<(), Self::Error> { 37 (**self).flush() 38 } 39 on_session_start(&mut self) -> Result<(), Self::Error>40 fn on_session_start(&mut self) -> Result<(), Self::Error> { 41 (**self).on_session_start() 42 } 43 } 44 45 impl<E> ConnectionExt for Box<dyn ConnectionExt<Error = E>> { read(&mut self) -> Result<u8, Self::Error>46 fn read(&mut self) -> Result<u8, Self::Error> { 47 (**self).read() 48 } 49 peek(&mut self) -> Result<Option<u8>, Self::Error>50 fn peek(&mut self) -> Result<Option<u8>, Self::Error> { 51 (**self).peek() 52 } 53 } 54