@@ -60,6 +60,18 @@ impl<T: std::io::Write + ?Sized> embedded_io::Write for FromStd<T> {
60
60
Err ( e) => Err ( e) ,
61
61
}
62
62
}
63
+
64
+ fn write_all ( & mut self , buf : & [ u8 ] ) -> Result < ( ) , Self :: Error > {
65
+ self . inner . write_all ( buf)
66
+ }
67
+
68
+ fn write_fmt (
69
+ & mut self ,
70
+ fmt : core:: fmt:: Arguments < ' _ > ,
71
+ ) -> Result < ( ) , embedded_io:: WriteFmtError < Self :: Error > > {
72
+ Ok ( self . inner . write_fmt ( fmt) ?)
73
+ }
74
+
63
75
fn flush ( & mut self ) -> Result < ( ) , Self :: Error > {
64
76
self . inner . flush ( )
65
77
}
@@ -69,6 +81,14 @@ impl<T: std::io::Seek + ?Sized> embedded_io::Seek for FromStd<T> {
69
81
fn seek ( & mut self , pos : embedded_io:: SeekFrom ) -> Result < u64 , Self :: Error > {
70
82
self . inner . seek ( pos. into ( ) )
71
83
}
84
+
85
+ fn rewind ( & mut self ) -> Result < ( ) , Self :: Error > {
86
+ self . inner . rewind ( )
87
+ }
88
+
89
+ fn stream_position ( & mut self ) -> Result < u64 , Self :: Error > {
90
+ self . inner . stream_position ( )
91
+ }
72
92
}
73
93
74
94
/// Adapter to `std::io` traits.
@@ -115,6 +135,22 @@ impl<T: embedded_io::Write + ?Sized> std::io::Write for ToStd<T> {
115
135
Err ( e) => Err ( to_std_error ( e) ) ,
116
136
}
117
137
}
138
+
139
+ fn write_all ( & mut self , buf : & [ u8 ] ) -> Result < ( ) , std:: io:: Error > {
140
+ self . inner . write_all ( buf) . map_err ( to_std_error)
141
+ }
142
+
143
+ fn write_fmt ( & mut self , fmt : core:: fmt:: Arguments < ' _ > ) -> Result < ( ) , std:: io:: Error > {
144
+ match self . inner . write_fmt ( fmt) {
145
+ Ok ( ( ) ) => Ok ( ( ) ) ,
146
+ Err ( e @ embedded_io:: WriteFmtError :: FmtError ) => Err ( std:: io:: Error :: new (
147
+ std:: io:: ErrorKind :: Other ,
148
+ format ! ( "{e:?}" ) ,
149
+ ) ) ,
150
+ Err ( embedded_io:: WriteFmtError :: Other ( e) ) => Err ( to_std_error ( e) ) ,
151
+ }
152
+ }
153
+
118
154
fn flush ( & mut self ) -> Result < ( ) , std:: io:: Error > {
119
155
self . inner . flush ( ) . map_err ( to_std_error)
120
156
}
@@ -124,6 +160,14 @@ impl<T: embedded_io::Seek + ?Sized> std::io::Seek for ToStd<T> {
124
160
fn seek ( & mut self , pos : std:: io:: SeekFrom ) -> Result < u64 , std:: io:: Error > {
125
161
self . inner . seek ( pos. into ( ) ) . map_err ( to_std_error)
126
162
}
163
+
164
+ fn rewind ( & mut self ) -> Result < ( ) , std:: io:: Error > {
165
+ self . inner . rewind ( ) . map_err ( to_std_error)
166
+ }
167
+
168
+ fn stream_position ( & mut self ) -> Result < u64 , std:: io:: Error > {
169
+ self . inner . stream_position ( ) . map_err ( to_std_error)
170
+ }
127
171
}
128
172
129
173
/// Convert a embedded-io error to a [`std::io::Error`]
0 commit comments