diff options
| author | Tomoaki Kawada <kawada@kmckk.co.jp> | 2023-08-23 19:06:43 +0900 |
|---|---|---|
| committer | Tomoaki Kawada <kawada@kmckk.co.jp> | 2023-11-08 10:51:59 +0900 |
| commit | 46bc247bd145f3357acb07b7f146ec9514e0a193 (patch) | |
| tree | ff6c576800877b1e6d312abbf2bec4f1ebaeba56 /library/std/src/sys/solid | |
| parent | 6d1e4ddf0354e51e3520abfbd32a394f497d3f3b (diff) | |
| download | rust-46bc247bd145f3357acb07b7f146ec9514e0a193.tar.gz rust-46bc247bd145f3357acb07b7f146ec9514e0a193.zip | |
kmc-solid: Implement `{From,Into}Inner<OwnedFd>` for `Socket`
Diffstat (limited to 'library/std/src/sys/solid')
| -rw-r--r-- | library/std/src/sys/solid/net.rs | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/library/std/src/sys/solid/net.rs b/library/std/src/sys/solid/net.rs index 1a7f9e347d0..a768e2406c8 100644 --- a/library/std/src/sys/solid/net.rs +++ b/library/std/src/sys/solid/net.rs @@ -5,10 +5,10 @@ use crate::{ io::{self, BorrowedBuf, BorrowedCursor, ErrorKind, IoSlice, IoSliceMut}, mem, net::{Shutdown, SocketAddr}, - os::solid::io::{AsRawFd, FromRawFd, IntoRawFd, OwnedFd}, + os::solid::io::{AsFd, AsRawFd, BorrowedFd, FromRawFd, IntoRawFd, OwnedFd}, ptr, str, sys_common::net::{getsockopt, setsockopt, sockaddr_to_addr}, - sys_common::IntoInner, + sys_common::{FromInner, IntoInner}, time::Duration, }; @@ -392,6 +392,27 @@ impl Socket { } } +impl FromInner<OwnedFd> for Socket { + #[inline] + fn from_inner(sock: OwnedFd) -> Socket { + Socket(sock) + } +} + +impl IntoInner<OwnedFd> for Socket { + #[inline] + fn into_inner(self) -> OwnedFd { + self.0 + } +} + +impl AsFd for Socket { + #[inline] + fn as_fd(&self) -> BorrowedFd<'_> { + self.0.as_fd() + } +} + impl AsRawFd for Socket { #[inline] fn as_raw_fd(&self) -> c_int { |
