
14 Sep
2004
14 Sep
'04
12:09 a.m.
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@alinoe.com> >_______________________________________________ >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