Rollup merge of #131449 - nickrum:wasip2-net-decouple-fd, r=alexcrichton · qinheping/verify-rust-std@49220cd (original) (raw)
`@@ -2,13 +2,12 @@
`
2
2
``
3
3
`use libc::{c_int, c_void, size_t};
`
4
4
``
5
``
`-
use super::fd::WasiFd;
`
6
5
`use crate::ffi::CStr;
`
7
6
`use crate::io::{self, BorrowedBuf, BorrowedCursor, IoSlice, IoSliceMut};
`
8
7
`use crate:🥅:{Shutdown, SocketAddr};
`
9
``
`-
use crate::os::wasi::io::{AsFd, AsRawFd, BorrowedFd, FromRawFd, IntoRawFd, RawFd};
`
``
8
`+
use crate::os::wasi::io::{AsFd, AsRawFd, BorrowedFd, FromRawFd, IntoRawFd, OwnedFd, RawFd};
`
10
9
`use crate::sys::unsupported;
`
11
``
`-
use crate::sys_common:🥅:{TcpListener, getsockopt, setsockopt, sockaddr_to_addr};
`
``
10
`+
use crate::sys_common:🥅:{getsockopt, setsockopt, sockaddr_to_addr};
`
12
11
`use crate::sys_common::{AsInner, FromInner, IntoInner};
`
13
12
`use crate::time::{Duration, Instant};
`
14
13
`use crate::{cmp, mem, str};
`
`@@ -71,7 +70,9 @@ pub fn cvt_gai(err: c_int) -> io::Result<()> {
`
71
70
``
72
71
`pub fn init() {}
`
73
72
``
74
``
`-
pub struct Socket(WasiFd);
`
``
73
`+
pub struct WasiSocket(OwnedFd);
`
``
74
+
``
75
`+
pub struct Socket(WasiSocket);
`
75
76
``
76
77
`impl Socket {
`
77
78
`pub fn new(addr: &SocketAddr, ty: c_int) -> io::Result {
`
`@@ -327,53 +328,90 @@ impl Socket {
`
327
328
`}
`
328
329
`}
`
329
330
``
330
``
`-
impl AsInner for Socket {
`
``
331
`+
impl AsInner for WasiSocket {
`
331
332
`#[inline]
`
332
``
`-
fn as_inner(&self) -> &WasiFd {
`
``
333
`+
fn as_inner(&self) -> &OwnedFd {
`
333
334
`&self.0
`
334
335
`}
`
335
336
`}
`
336
337
``
337
``
`-
impl IntoInner for Socket {
`
338
``
`-
fn into_inner(self) -> WasiFd {
`
``
338
`+
impl IntoInner for WasiSocket {
`
``
339
`+
fn into_inner(self) -> OwnedFd {
`
339
340
`self.0
`
340
341
`}
`
341
342
`}
`
342
343
``
343
``
`-
impl FromInner for Socket {
`
344
``
`-
fn from_inner(inner: WasiFd) -> Socket {
`
345
``
`-
Socket(inner)
`
``
344
`+
impl FromInner for WasiSocket {
`
``
345
`+
fn from_inner(owned_fd: OwnedFd) -> Self {
`
``
346
`+
Self(owned_fd)
`
346
347
`}
`
347
348
`}
`
348
349
``
349
``
`-
impl AsFd for Socket {
`
``
350
`+
impl AsFd for WasiSocket {
`
350
351
`fn as_fd(&self) -> BorrowedFd<'_> {
`
351
352
`self.0.as_fd()
`
352
353
`}
`
353
354
`}
`
354
355
``
355
``
`-
impl AsRawFd for Socket {
`
``
356
`+
impl AsRawFd for WasiSocket {
`
356
357
`#[inline]
`
357
358
`fn as_raw_fd(&self) -> RawFd {
`
358
359
`self.0.as_raw_fd()
`
359
360
`}
`
360
361
`}
`
361
362
``
362
``
`-
impl IntoRawFd for Socket {
`
``
363
`+
impl IntoRawFd for WasiSocket {
`
363
364
`fn into_raw_fd(self) -> RawFd {
`
364
365
`self.0.into_raw_fd()
`
365
366
`}
`
366
367
`}
`
367
368
``
368
``
`-
impl FromRawFd for Socket {
`
``
369
`+
impl FromRawFd for WasiSocket {
`
369
370
`unsafe fn from_raw_fd(raw_fd: RawFd) -> Self {
`
370
371
`unsafe { Self(FromRawFd::from_raw_fd(raw_fd)) }
`
371
372
`}
`
372
373
`}
`
373
374
``
374
``
`-
impl AsInner for TcpListener {
`
``
375
`+
impl AsInner for Socket {
`
``
376
`+
#[inline]
`
``
377
`+
fn as_inner(&self) -> &WasiSocket {
`
``
378
`+
&self.0
`
``
379
`+
}
`
``
380
`+
}
`
``
381
+
``
382
`+
impl IntoInner for Socket {
`
``
383
`+
fn into_inner(self) -> WasiSocket {
`
``
384
`+
self.0
`
``
385
`+
}
`
``
386
`+
}
`
``
387
+
``
388
`+
impl FromInner for Socket {
`
``
389
`+
fn from_inner(sock: WasiSocket) -> Socket {
`
``
390
`+
Socket(sock)
`
``
391
`+
}
`
``
392
`+
}
`
``
393
+
``
394
`+
impl AsFd for Socket {
`
``
395
`+
fn as_fd(&self) -> BorrowedFd<'_> {
`
``
396
`+
self.0.as_fd()
`
``
397
`+
}
`
``
398
`+
}
`
``
399
+
``
400
`+
impl AsRawFd for Socket {
`
375
401
`#[inline]
`
376
``
`-
fn as_inner(&self) -> &Socket {
`
377
``
`-
&self.socket()
`
``
402
`+
fn as_raw_fd(&self) -> RawFd {
`
``
403
`+
self.0.as_raw_fd()
`
``
404
`+
}
`
``
405
`+
}
`
``
406
+
``
407
`+
impl IntoRawFd for Socket {
`
``
408
`+
fn into_raw_fd(self) -> RawFd {
`
``
409
`+
self.0.into_raw_fd()
`
``
410
`+
}
`
``
411
`+
}
`
``
412
+
``
413
`+
impl FromRawFd for Socket {
`
``
414
`+
unsafe fn from_raw_fd(raw_fd: RawFd) -> Self {
`
``
415
`+
unsafe { Self(FromRawFd::from_raw_fd(raw_fd)) }
`
378
416
`}
`
379
417
`}
`