|
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:
>http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/base/i_o_completion_ports.asp
>
>To my surprise, and possibly to your surprise as well ;), this starts as
>follows:
>
><quote>
>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.
></quote>
>
>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
http://lists.boost.org/MailArchives/boost/msg01815.php
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.
Regards
Mark
>--
>Carlo Wood <carlo_at_[hidden]>
>_______________________________________________
>Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
>
>
>
>---
>Incoming mail is certified Virus Free.
>Checked by AVG anti-virus system (http://www.grisoft.com).
>Version: 6.0.754 / Virus Database: 504 - Release Date: 06/09/2004
--- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.754 / Virus Database: 504 - Release Date: 06/09/2004
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk