Rate adaptation using acknowledgement feedback: Throughput upper bounds