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

Accept a new connection.

    template<
        typename ExecutionContext>
    Protocol::socket::template rebind_executor< typenameExecutionContext::executor_type >::other accept(
        ExecutionContext & context,
        asio::error_code & ec,
        constraint_t< is_convertible< ExecutionContext &, execution_context & >::value >  = 0);

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

This overload requires that the Protocol template parameter satisfy the AcceptableProtocol type requirements.

###### Parameters

context

  The I/O execution context object to be used for the newly accepted socket.

ec

  Set to indicate what error occurred, if any.

###### Return Value

On success, a socket object representing the newly accepted connection. On error, a socket object where `is_open()` is false.

###### Example

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