boost asio的event loop是通过io_service类实现的,这是一个模版类,但它的声明文件和实现文件做了分离,声明文件是io_service.hpp,而它的实现文件是impl/io_service.ipp,通过在io_service.hpp的末尾加上
#include <boost/asio/impl/io_service.ipp>
来实现分离
io_service的声明中最重要的一个成员变量
#if defined(BOOST_ASIO_HAS_IOCP)
namespace detail { typedef win_iocp_io_service io_service_impl; }
#else
namespace detail