![]() |
Home | Libraries | People | FAQ | More |
This design note lists platform-specific implementation details, such as the default demultiplexing mechanism, the number of threads created internally, and when threads are created.
Demultiplexing mechanism:
select for demultiplexing.
This means that the number of file descriptors in the process cannot be
permitted to exceed FD_SETSIZE.
Threads:
select
is performed in one of the threads that calls io_service::run(), io_service::run_one(), io_service::poll() or io_service::poll_one().
io_service
is used to emulate asynchronous host resolution. This thread is created
on the first call to either ip::tcp::resolver::async_resolve() or ip::udp::resolver::async_resolve().
Demultiplexing mechanism:
epoll for demultiplexing.
Threads:
epoll
is performed in one of the threads that calls io_service::run(), io_service::run_one(), io_service::poll() or io_service::poll_one().
io_service
is used to emulate asynchronous host resolution. This thread is created
on the first call to either ip::tcp::resolver::async_resolve() or ip::udp::resolver::async_resolve().
Demultiplexing mechanism:
/dev/poll for demultiplexing.
Threads:
/dev/poll is performed in one of
the threads that calls io_service::run(), io_service::run_one(), io_service::poll() or io_service::poll_one().
io_service
is used to emulate asynchronous host resolution. This thread is created
on the first call to either ip::tcp::resolver::async_resolve() or ip::udp::resolver::async_resolve().
Demultiplexing mechanism:
select for demultiplexing.
This means that the number of file descriptors in the process cannot be
permitted to exceed FD_SETSIZE.
Threads:
select
is performed in one of the threads that calls io_service::run(), io_service::run_one(), io_service::poll() or io_service::poll_one().
io_service
is used to emulate asynchronous host resolution. This thread is created
on the first call to either ip::tcp::resolver::async_resolve() or ip::udp::resolver::async_resolve().
Demultiplexing mechanism:
kqueue for demultiplexing.
Threads:
kqueue
is performed in one of the threads that calls io_service::run(), io_service::run_one(), io_service::poll() or io_service::poll_one().
io_service
is used to emulate asynchronous host resolution. This thread is created
on the first call to either ip::tcp::resolver::async_resolve() or ip::udp::resolver::async_resolve().
Demultiplexing mechanism:
kqueue for demultiplexing.
Threads:
kqueue
is performed in one of the threads that calls io_service::run(), io_service::run_one(), io_service::poll() or io_service::poll_one().
io_service
is used to emulate asynchronous host resolution. This thread is created
on the first call to either ip::tcp::resolver::async_resolve() or ip::udp::resolver::async_resolve().
Demultiplexing mechanism:
select for demultiplexing.
This means that the number of file descriptors in the process cannot be
permitted to exceed FD_SETSIZE.
Threads:
select
is performed in one of the threads that calls io_service::run(), io_service::run_one(), io_service::poll() or io_service::poll_one().
io_service
is used to emulate asynchronous host resolution. This thread is created
on the first call to either ip::tcp::resolver::async_resolve() or ip::udp::resolver::async_resolve().
Demultiplexing mechanism:
select for demultiplexing.
This means that the number of file descriptors in the process cannot be
permitted to exceed FD_SETSIZE.
Threads:
select
is performed in one of the threads that calls io_service::run(), io_service::run_one(), io_service::poll() or io_service::poll_one().
io_service
is used to emulate asynchronous host resolution. This thread is created
on the first call to either ip::tcp::resolver::async_resolve() or ip::udp::resolver::async_resolve().
Demultiplexing mechanism:
select for demultiplexing.
This means that the number of file descriptors in the process cannot be
permitted to exceed FD_SETSIZE.
Threads:
select
is performed in one of the threads that calls io_service::run(), io_service::run_one(), io_service::poll() or io_service::poll_one().
io_service
is used to emulate asynchronous host resolution. This thread is created
on the first call to either ip::tcp::resolver::async_resolve() or ip::udp::resolver::async_resolve().
Demultiplexing mechanism:
select for demultiplexing.
Threads:
select
is performed in one of the threads that calls io_service::run(), io_service::run_one(), io_service::poll() or io_service::poll_one().
io_service
is used to emulate asynchronous host resolution. This thread is created
on the first call to either ip::tcp::resolver::async_resolve() or ip::udp::resolver::async_resolve().
Demultiplexing mechanism:
select for emulating
asynchronous connect.
Threads:
io_service::run(),
io_service::run_one(),
io_service::poll()
or io_service::poll_one().
io_service
is used for the select
demultiplexing. This thread is created on the first call to async_connect().
io_service
is used to emulate asynchronous host resolution. This thread is created
on the first call to either ip::tcp::resolver::async_resolve() or ip::udp::resolver::async_resolve().