Re: [boost] Re: Network library: What we have until now

On Wed, 2005-04-13 at 20:14 -0700, Don G wrote:
I think this presupposes a mostly manual association of selectable_object with select_set? The select_set is then used to wait?
Yes.
If not, please explain the importance of "when can non-blocking operations proceed" vs. "async operations are done". If the "operation is done" callback occurs by calling dequeuing a boost::function<> then the app is still "single threaded" to the user.
Not all platforms have threads. There may even be some that don't supply co-operative multi-tasking. Non-blocking calls are akin to polling. A non-blocking read fails if there is no data to read. A non-blocking write fails if there is insufficient space in the queue. If a non-block write succeeds then its behaviour is identical to a blocking write. An async write queues the request and success or failure is reported sometime later. BTW callbacks are just *one* way that async completion can be reported. /ikh
participants (1)
-
Iain Hanson