I am going to use boost::asio lib for my project. But it\'s not quite obvious which function is corresponding to select()
from native socket C lib. Is that avai
The high-level design of Boost.Asio
is based on the Proactor desing pattern. Thus, you don't need to poll on select
. Instead, submit your completion handler for an asynchronous operation, and when the operation gets completed - the completion handler gets called.
Boost.Asio does provide a select like functionality using null_buffers. https://stackoverflow.com/a/4686523/1134207 explains more.
The documentation has a specific section for mapping the BSD socket API calls into their respective Asio equivalent
poll()
,select()
,pselect()
io_service::run()
,io_service::run_one()
,io_service::poll()
,io_service::poll_one()
Note: in conjunction with asynchronous operations.
Note that there are subtle differences between each of these io_service
methods, picking the correct one will depend on your application design.