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

Accept a new connection and obtain the endpoint of the peer.

    template<
        typename Executor1>
    void accept(
        basic_socket< protocol_type, Executor1 > & peer,
        endpoint_type & peer_endpoint,
        asio::error_code & ec);

This function is used to accept a new connection from a peer into the given socket, and additionally provide the endpoint of the remote peer. 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.

peer_endpoint

  An endpoint object which will receive the endpoint of the remote peer.

ec

  Set to indicate what error occurred, if any.

###### Example

    asio::ip::tcp::acceptor acceptor(my_context);
    ...
    asio::ip::tcp::socket socket(my_context);
    asio::ip::tcp::endpoint endpoint;
    asio::error_code ec;
    acceptor.accept(socket, endpoint, ec);
    if (ec)
    {
      // An error occurred.
    }