Stm flush required implementing also, along with std alloc split
This commit is contained in:
parent
5d502ec0af
commit
45ef944457
@ -449,6 +449,20 @@ mod buffered {
|
|||||||
}
|
}
|
||||||
poll
|
poll
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn poll_flush(
|
||||||
|
mut self: Pin<&mut Self>,
|
||||||
|
cx: &mut Context<'_>,
|
||||||
|
) -> Poll<Result<(), embassy::io::Error>> {
|
||||||
|
self.inner.with(|state| {
|
||||||
|
if !state.tx.is_empty() {
|
||||||
|
state.tx_waker.register(cx.waker());
|
||||||
|
return Poll::Pending;
|
||||||
|
}
|
||||||
|
|
||||||
|
Poll::Ready(Ok(()))
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -32,6 +32,9 @@ impl<T: AsyncWrite + Unpin> AsyncWrite for WriteHalf<T> {
|
|||||||
fn poll_write(self: Pin<&mut Self>, cx: &mut Context<'_>, buf: &[u8]) -> Poll<Result<usize>> {
|
fn poll_write(self: Pin<&mut Self>, cx: &mut Context<'_>, buf: &[u8]) -> Poll<Result<usize>> {
|
||||||
Pin::new(unsafe { &mut *self.handle.get() }).poll_write(cx, buf)
|
Pin::new(unsafe { &mut *self.handle.get() }).poll_write(cx, buf)
|
||||||
}
|
}
|
||||||
|
fn poll_flush(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Result<()>> {
|
||||||
|
Pin::new(unsafe { &mut *self.handle.get() }).poll_flush(cx)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn split<T: AsyncBufRead + AsyncWrite>(t: T) -> (ReadHalf<T>, WriteHalf<T>) {
|
pub fn split<T: AsyncBufRead + AsyncWrite>(t: T) -> (ReadHalf<T>, WriteHalf<T>) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user