##### basic_socket::basic_socket (4 of 6 overloads)

Construct a `basic_socket` on an existing native socket.

    basic_socket(
        asio::io_context & io_context,
        const protocol_type & protocol,
        const native_handle_type & native_socket);

This constructor creates a socket object to hold an existing native socket.

###### Parameters

io_context

  The `io_context` object that the socket will use to dispatch handlers for any asynchronous operations performed on the socket.

protocol

  An object specifying protocol parameters to be used.

native_socket

  A native socket.

###### Exceptions

asio::system_error

  Thrown on failure.