One problem with "at least" is it might have to wait for two packets to come off the network interface; could be fairly slow. The "at most" means it will take whatever is available without overflowing your buffer - it will never wait if there is any data available.