$include_dir="/home/hyper-archives/boost-users/include"; include("$include_dir/msg-header.inc") ?>
From: Yuval Ronen (ronen_yuval_at_[hidden])
Date: 2007-05-26 06:36:51
Hi.
I'm looking at the Design page of the asio docs 
(http://tinyurl.com/2b5afn) and several questions come to mind:
1. The "Proactor" page has Advantages/Disadvantages section, but it 
doesn't specify in comparison to what (advantages and disadvantages are 
always compared to something). I'm getting the impression that it's 
compared to the Reactor approach. Is this correct?
2. The "Platform-Specific Implementation" page notes that when using 
select/epoll/kqueue, demultiplexing is performed in one of the threads 
that calls boost::asio::io_service::run(). I assume that when this 
thread is awaken to perform some task, one of the other threads that 
called run() on the same boost::asio::io_service takes it position as 
waiting on select/epoll/kqueue. Is this correct?
3. The "Platform-Specific Implementation" page also notes that "An 
additional thread per io_service is used to emulate asynchronous host 
resolution. This thread is created on the first call to either 
boost::asio::ip::tcp::resolver::async_resolve() or 
boost::asio::ip::udp::resolver::async_resolve()." So I guess that if I 
resolve() rather than async_resolve(), then no thread is created, and 
the actual resolving is done in the thread that called resolve()?
I think all these notes would be a good addition to the docs.
Thanks.