Skip to content

Commit 6b54850

Browse files
author
Tim Siemers
committed
BufferWriter::write_slice and BuffeWrite::write_slice_async not return how many bytes were written
1 parent e831867 commit 6b54850

1 file changed

Lines changed: 6 additions & 6 deletions

File tree

src/writer.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ impl <'a, const C: usize, T: AsRef<[u8]> + AsMut<[u8]>> BufferWriter<'a, C, T> {
124124
})
125125
}
126126

127-
pub fn write_slice<F>(&self, f: F) -> Result<(), BufferError> where F: FnOnce(&mut [u8]) -> usize {
127+
pub fn write_slice<F>(&self, f: F) -> Result<usize, BufferError> where F: FnOnce(&mut [u8]) -> usize {
128128
self.buffer.inner.lock_mut(|inner| {
129129
inner.shift();
130130
let writeable = inner.writeable_data();
@@ -133,19 +133,19 @@ impl <'a, const C: usize, T: AsRef<[u8]> + AsMut<[u8]>> BufferWriter<'a, C, T> {
133133
Err(BufferError::NoCapacity)
134134
} else {
135135
inner.write_commit(bytes_written).unwrap();
136-
Ok(())
136+
Ok(bytes_written)
137137
}
138138
})
139139
}
140140

141-
pub fn write_slice_async<F>(&self, f: F) -> impl Future<Output = Result<(), BufferError>> where F: FnMut(&mut [u8]) -> WriteSliceAsyncResult{
141+
pub fn write_slice_async<F>(&self, f: F) -> impl Future<Output = Result<usize, BufferError>> where F: FnMut(&mut [u8]) -> WriteSliceAsyncResult{
142142
WriteSliceAsyncFuture{
143143
writer: self,
144144
f: f
145145
}
146146
}
147147

148-
fn poll_write_slice<F>(&self, f: &mut F, cx: &mut Context<'_>) -> Poll<Result<(), BufferError>> where F: FnMut(&mut [u8]) -> WriteSliceAsyncResult {
148+
fn poll_write_slice<F>(&self, f: &mut F, cx: &mut Context<'_>) -> Poll<Result<usize, BufferError>> where F: FnMut(&mut [u8]) -> WriteSliceAsyncResult {
149149
self.buffer.inner.lock_mut(|inner| {
150150
inner.shift();
151151
let writeable = inner.writeable_data();
@@ -161,7 +161,7 @@ impl <'a, const C: usize, T: AsRef<[u8]> + AsMut<[u8]>> BufferWriter<'a, C, T> {
161161
},
162162
WriteSliceAsyncResult::Ready(bytes_written) => {
163163
inner.write_commit(bytes_written).unwrap();
164-
Poll::Ready(Ok(()))
164+
Poll::Ready(Ok(bytes_written))
165165
}
166166
}
167167
})
@@ -187,7 +187,7 @@ pub struct WriteSliceAsyncFuture<'a, 'b, const C: usize, T: AsRef<[u8]> + AsMut<
187187
impl <'a, 'b, const C: usize, T: AsRef<[u8]> + AsMut<[u8]>, F> Unpin for WriteSliceAsyncFuture<'a, 'b, C, T, F> where F: FnMut(&mut [u8]) -> WriteSliceAsyncResult {}
188188

189189
impl <'a, 'b, const C: usize, T: AsRef<[u8]> + AsMut<[u8]>, F> Future for WriteSliceAsyncFuture<'a, 'b, C, T, F> where F: FnMut(&mut [u8]) -> WriteSliceAsyncResult {
190-
type Output = Result<(), BufferError>;
190+
type Output = Result<usize, BufferError>;
191191

192192
fn poll(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Self::Output> {
193193
self.writer.poll_write_slice(&mut self.f, cx)

0 commit comments

Comments
 (0)