##### basic_socket_acceptor::accept (1 of 16 overloads)

Accept a new connection.

    template<
        typename Protocol1,
        typename Executor1>
    void accept(
        basic_socket< Protocol1, Executor1 > & peer,
        typename enable_if< is_convertible< Protocol, Protocol1 >::value >::type *  = 0);

This function is used to accept a new connection from a peer into the given socket. The function call will block until a new connection has been accepted successfully or an error occurs.

###### Parameters

peer

  The socket into which the new connection will be accepted.

###### Exceptions

asio::system_error

  Thrown on failure.

###### Example

    asio::ip::tcp::acceptor acceptor(my_context);
    ...
    asio::ip::tcp::socket socket(my_context);
    acceptor.accept(socket);