mod.rs - source
Description: Source of the Rust file `library/std/src/os/wasi/net/mod.rs`.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23

    //! WASI-specific networking functionality

    #![unstable(feature = "wasi_ext", issue = "71213")]

    use crate::io;
    use crate::net;
    use crate::sys_common::AsInner;

    /// WASI-specific extensions to [`std::net::TcpListener`].
    ///
    /// [`std::net::TcpListener`]: crate::net::TcpListener
    pub trait TcpListenerExt {
        /// Accept a socket.
        ///
        /// This corresponds to the `sock_accept` syscall.
        fn sock_accept(&self, flags: u16) -> io::Result<u32>;
    }

    impl TcpListenerExt for net::TcpListener {
        fn sock_accept(&self, flags: u16) -> io::Result<u32> {
            self.as_inner().as_inner().as_inner().sock_accept(flags)
        }
    }