1use crate::TcpStream;
2use std::{
3 net::TcpStream as StdTcpStream,
4 os::unix::io::{AsFd, AsRawFd, BorrowedFd, FromRawFd, RawFd},
5};
6
7impl AsFd for TcpStream {
8 fn as_fd(&self) -> BorrowedFd<'_> {
9 <StdTcpStream as AsFd>::as_fd(self)
10 }
11}
12
13impl AsRawFd for TcpStream {
14 fn as_raw_fd(&self) -> RawFd {
15 <StdTcpStream as AsRawFd>::as_raw_fd(self)
16 }
17}
18
19impl AsRawFd for &TcpStream {
20 fn as_raw_fd(&self) -> RawFd {
21 <StdTcpStream as AsRawFd>::as_raw_fd(self)
22 }
23}
24
25impl FromRawFd for TcpStream {
26 unsafe fn from_raw_fd(fd: RawFd) -> Self {
27 Self::Plain(unsafe { StdTcpStream::from_raw_fd(fd) })
28 }
29}