# Trait FromRawSocket

1.1.0 · Source

    pub trait FromRawSocket {
        // Required method
        unsafe fn from_raw_socket(sock: RawSocket) -> Self;
    }

Available on Windows only.
Expand description

Creates I/O objects from raw sockets.

## Required Methods§

1.1.0 · Source

#### unsafe fn from_raw_socket(sock: RawSocket) -> Self

Constructs a new I/O object from the specified raw socket.

This function is typically used to consume ownership of the socket given, passing responsibility for closing the socket to the returned object. When used in this way, the returned object will take responsibility for closing it when the object goes out of scope.

However, consuming ownership is not strictly required. Use a `From<OwnedSocket>::from` implementation for an API which strictly consumes ownership.

##### §Safety

The `socket` passed in must:

- be an owned socket; in particular, it must be open.
- be a socket that may be freed via `closesocket`.

## Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

## Implementors§

1.1.0 · Source§

### impl FromRawSocket for TcpListener

1.1.0 · Source§

### impl FromRawSocket for TcpStream

1.1.0 · Source§

### impl FromRawSocket for UdpSocket

1.63.0 · Source§

### impl FromRawSocket for OwnedSocket