Boost logo

Boost Users :

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.


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net