If you go to https://www.boost.org/doc/libs/1_80_0/doc/html/boost_asio/overview/core/asyn... you will see that it says: * On many platforms, Boost.Asio implements the Proactor design pattern in terms of a Reactor, such as select, epoll or kqueue. This implementation approach corresponds to the Proactor design pattern as follows: * *[...]* * On Windows NT, 2000 and XP, Boost.Asio takes advantage of overlapped I/O to provide an efficient implementation of the Proactor design pattern. This implementation approach corresponds to the Proactor design pattern as follows: * I am unfortunately not a pattern or OS expert, but I would expect that on every modern OS proactor can be implemented without using reactor, e.g. see *https://stackoverflow.com/a/57451551/700825 https://stackoverflow.com/a/57451551/700825* The fact that mentioned Windows are NT, XP and 2000 also furthers my suspicion that docs are outdated.