Boost logo

Boost :

From: Mark Blewett (boost_at_[hidden])
Date: 2004-09-13 19:09:22

At 23:54 13/09/2004, you wrote:

>On Mon, Sep 13, 2004 at 03:27:12PM -0500, Aaron W. LaFramboise wrote:
> > -100 sockets: implemented using I/O completion so they trigger with
> > APC's [..snip..]
> > > of 64? And 2) How can I use that to wait for events on SOCKET's? The
> > 2) IO completion routines.
>Thanks. Please remember that I have no experience with windows whatsoever.
>I never heard of IO completion ports before (this shouldn't be a problem,
>I can bite in a topic like a pitbul and in a month I should be an expert
>in the field ;).
>I asked my personal windows guru to give me an url about IO completion
>Ports and he told me:
>To my surprise, and possibly to your surprise as well ;), this starts as
>I/O completion ports are the mechanism by which an application uses a pool
>of threads that was created when the application was started to process
>asynchronous I/O requests. These threads are created for the sole purpose
>of processing I/O requests.
>So... there we have our hidden threads!
>Did you know this?

They are not limited to just processing asynchronous I/O requests such as
sockets / pipes et al read /writes.. they can also be used for user
requests (ie a callback to a user function using one of the worker threads)
as well... and hence you can build a very nice scaleable multi threaded
framework from them

BTW I posted a usage example of user requests a current project (it also
uses asynch i/o.. tho not shown via my post) back in Feb... see

Unfortunately since then I still don't have time to put together a
proposal, but from my pov (a win32 perspective) a iocp like class needs to
be in boost::threads before any progress can be made on a serious async i/o
/ sockets / pipe / server libraries.


>Carlo Wood <carlo_at_[hidden]>
>Unsubscribe & other changes:
>Incoming mail is certified Virus Free.
>Checked by AVG anti-virus system (
>Version: 6.0.754 / Virus Database: 504 - Release Date: 06/09/2004

Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (
Version: 6.0.754 / Virus Database: 504 - Release Date: 06/09/2004

Boost list run by bdawes at, gregod at, cpdaniel at, john at