I am aware of Indy, ICS, Synapse and Clever InetSuite, none of which support IOCP. Is there anything else out there?
Edit: I found iocpclasses , It's written in Delphi5. Better than nothing I suppose.
I am aware of Indy, ICS, Synapse and Clever InetSuite, none of which support IOCP. Is there anything else out there?
Edit: I found iocpclasses , It's written in Delphi5. Better than nothing I suppose.
Check http://voipobjects.com/index.php?page=delphi-iocp-library It is migrated iocpclasses.sourceforge.net (i'm an author). Enjoy :)
Update: voipobjects has not dedicated page for this library. It lives here https://bitbucket.org/voipobjects/iocpengine.
Indy 10 has experimental support for fibers and IOCP:
From Indy knowledge base:
This is not installed by default, and I haven't used it myself, so I am not sure how much usable it is. I guess you need to download the latest SVN revision from their repository to use this experimental feature.
Using it must be straightforward; you create a IdTcpServer instance, and instead of the default scheduler, you use the scheduler class which provides IOCP support. The rest should be considered internal work of the provided scheduler class.
There is an IOCPPool example for Synapse availabile in the contributed files section.
Have a look at High performance socket server based on Windows Completion Port and with using Windows Socket Extensions. IPv6 supported. Link: http://www.torry.net/authorsmore.php?id=7131
Synopse mORMot and SynCrtSock and DWScript's HttpSys2WebServer both have an IOCP-based server.
Synopse actually has two servers using IOCP, one via http.sys another via sockets.
Not a component but an example: TISAPIThreadPool in ISAPIThreadPool unit.