Skip to main content

vortex_io/compat/
write.rs

1// SPDX-License-Identifier: Apache-2.0
2// SPDX-FileCopyrightText: Copyright the Vortex contributors
3
4use crate::IoBuf;
5use crate::VortexWrite;
6use crate::compat::Compat;
7
8/// Compatibility adapter for `VortexWrite` implementations that are based on Tokio.
9#[deny(clippy::missing_trait_methods)]
10impl<W: VortexWrite> VortexWrite for Compat<W> {
11    fn write_all<B: IoBuf>(&mut self, buffer: B) -> impl Future<Output = std::io::Result<B>> {
12        Compat::new(self.inner_mut().write_all(buffer))
13    }
14
15    fn flush(&mut self) -> impl Future<Output = std::io::Result<()>> {
16        Compat::new(self.inner_mut().flush())
17    }
18
19    fn shutdown(&mut self) -> impl Future<Output = std::io::Result<()>> {
20        Compat::new(self.inner_mut().shutdown())
21    }
22}