/
germanubis
/
sqlx
Обзор
Документация
Войти
/
germanubis
/
sqlx
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
sqlx-core/src/rt/rt_async_io/socket.rs
55 строк
1 KB
martin-kolarik
Smol+async global executor 1.80 dev (#3791)
08 сен 2025, 21:17
Не верифицирован
08 сен 2025, 21:17
6b828e6
Код
Авторство
О чём код?
use crate::net::Socket; use std::io; use std::io::{Read, Write}; use std::net::{Shutdown, TcpStream}; use std::task::{Context, Poll}; use async_io::Async; use crate::io::ReadBuf; impl Socket for Async<TcpStream> { fn try_read(&mut self, buf: &mut dyn ReadBuf) -> io::Result<usize> { self.get_ref().read(buf.init_mut()) } fn try_write(&mut self, buf: &[u8]) -> io::Result<usize> { self.get_ref().write(buf) } fn poll_read_ready(&mut self, cx: &mut Context<'_>) -> Poll<io::Result<()>> { self.poll_readable(cx) } fn poll_write_ready(&mut self, cx: &mut Context<'_>) -> Poll<io::Result<()>> { self.poll_writable(cx) } fn poll_shutdown(&mut self, _cx: &mut Context<'_>) -> Poll<io::Result<()>> { Poll::Ready(self.get_ref().shutdown(Shutdown::Both)) } } #[cfg(unix)] impl Socket for Async<std::os::unix::net::UnixStream> { fn try_read(&mut self, buf: &mut dyn ReadBuf) -> io::Result<usize> { self.get_ref().read(buf.init_mut()) } fn try_write(&mut self, buf: &[u8]) -> io::Result<usize> { self.get_ref().write(buf) } fn poll_read_ready(&mut self, cx: &mut Context<'_>) -> Poll<io::Result<()>> { self.poll_readable(cx) } fn poll_write_ready(&mut self, cx: &mut Context<'_>) -> Poll<io::Result<()>> { self.poll_writable(cx) } fn poll_shutdown(&mut self, _cx: &mut Context<'_>) -> Poll<io::Result<()>> { Poll::Ready(self.get_ref().shutdown(Shutdown::Both)) } }