Wait for an incoming connection with time-out.
This is a blocking call that returns as soon as a connection could
successfully be established, or when the specified time-out has been reached.
A Link object will be returned, through which you can conduct all
further communication.