| Home | Libraries | People | FAQ | More

##### basic_socket::basic_socket (8 of 10 overloads)

Construct a `basic_socket` on an existing native socket.

    template<
        typename ExecutionContext>
    basic_socket(
        ExecutionContext & context,
        const protocol_type & protocol,
        const native_handle_type & native_socket,
        typename enable_if< is_convertible< ExecutionContext &, execution_context & >::value >::type *  = 0);

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

###### Parameters

context

  An execution context which provides the I/O executor that the socket will use, by default, 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

boost::system::system_error

  Thrown on failure.