> A timeout can be set to block socket operations on individual connections.

That's not actually true--setting a timeout does not make it block, as it'll block by default. :) The timeout just makes it abort after the desired timeout.