File tree Expand file tree Collapse file tree 1 file changed +24
-0
lines changed Expand file tree Collapse file tree 1 file changed +24
-0
lines changed Original file line number Diff line number Diff line change @@ -40,6 +40,19 @@ impl<T: std::io::Read + ?Sized> embedded_io::Read for FromStd<T> {
40
40
fn read ( & mut self , buf : & mut [ u8 ] ) -> Result < usize , Self :: Error > {
41
41
self . inner . read ( buf)
42
42
}
43
+
44
+ fn read_exact (
45
+ & mut self ,
46
+ buf : & mut [ u8 ] ,
47
+ ) -> Result < ( ) , embedded_io:: ReadExactError < Self :: Error > > {
48
+ match self . inner . read_exact ( buf) {
49
+ Ok ( ( ) ) => Ok ( ( ) ) ,
50
+ Err ( error) if error. kind ( ) == std:: io:: ErrorKind :: UnexpectedEof => {
51
+ Err ( embedded_io:: ReadExactError :: UnexpectedEof )
52
+ }
53
+ Err ( error) => Err ( error. into ( ) ) ,
54
+ }
55
+ }
43
56
}
44
57
45
58
impl < T : std:: io:: BufRead + ?Sized > embedded_io:: BufRead for FromStd < T > {
@@ -125,6 +138,17 @@ impl<T: embedded_io::Read + ?Sized> std::io::Read for ToStd<T> {
125
138
fn read ( & mut self , buf : & mut [ u8 ] ) -> Result < usize , std:: io:: Error > {
126
139
self . inner . read ( buf) . map_err ( to_std_error)
127
140
}
141
+
142
+ fn read_exact ( & mut self , buf : & mut [ u8 ] ) -> std:: io:: Result < ( ) > {
143
+ match self . inner . read_exact ( buf) {
144
+ Ok ( ( ) ) => Ok ( ( ) ) ,
145
+ Err ( e @ embedded_io:: ReadExactError :: UnexpectedEof ) => Err ( std:: io:: Error :: new (
146
+ std:: io:: ErrorKind :: UnexpectedEof ,
147
+ format ! ( "{e:?}" ) ,
148
+ ) ) ,
149
+ Err ( embedded_io:: ReadExactError :: Other ( e) ) => Err ( to_std_error ( e) ) ,
150
+ }
151
+ }
128
152
}
129
153
130
154
impl < T : embedded_io:: Write + ?Sized > std:: io:: Write for ToStd < T > {
You can’t perform that action at this time.
0 commit comments