到了这里,我们已经分析了event loop的基本流程了,接下来就要从使用者的角度来分析一下,event loop一般会管理两类时间,一类是fd的读写,还有一类是timer到期,这里先讨论fd的读写
boost asio中将fd抽象为以下几类service
datagram_socket_service:UDP socket
raw_socket_service:基本的socket
socket_acceptor_service:acceptor socket
stream_socket_service:TCP socket
每类service提供的接口都不同,我们这里只关注实现了TCP的stream_socket_service,