Why is it called Overlapped I/O?

c++, overlapped-io, sockets, terminology, windows

Solution

I think the idea was (20 years ago) that you could start an IO, perform some computation or other work and later wait for the result. This is rarely done today. I think this idea comes from a time where `select` and `poll` were considered state of the art.

A better name would be asynchronous IO. That's what every other platform seems to call it. In fact the MSDN documentation mixes the two terms.

Problem

All I can find is tutorials on how to use Overlapped I/O, but I can't find why is it called like that. Is it because for example I can read something from a socket, and then read something else before necessarily the first read returns the bytes read?

Original source