ソケットでreactorスタイルの操作を提供するスケーラブルなWin32API(selectではなくIOCPなど)はありますか?AFAIK IOCPを使用すると、データの読み取りや書き込み(プロクター)などの完了した操作に関する通知を受け取ることができますが、リアクタースタイルの操作を探しています。ソケットが読み取り可能または書き込み可能(リアクター)になったときに通知を受け取る必要があります。
epoll、kqueue 、/dev/poll
?
Win32にそのようなAPIはありますか?もしそうなら、どこでマニュアルを見つけることができますか?
**明確化:** select
IOCPと同じくらいスケーラブルなソケット用のAPIのようなものが必要です。または、reactorのような操作でIOCPを使用する方法を探しています。
さらに明確にする: IOCPを使用すると、特定の操作の完了時に通知を受け取ることができます。例えば:
WSARecv(buffer,...); // start reading
WSAWaitForMultipleEvents(...); // wait when read is done
だから私は操作が行われた後に通知を受け取ります-操作の監督者スタイル。
私が必要としているのはそのようなものです:
WSARecv( NOTHING ); // start waiting for readability (not actual read)
WSAWaitForMultipleEvents(...); // wait until read would not block
// Now WSARecv would not block
WSARecv(buffer,...); // now actual non-blocking read
これどうやってするの?