Re[16]: C/C++ file/process/thread api l/w framework
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 21.03.08 21:10
Оценка:
Здравствуйте, eao197, Вы писали:

AS>>О том, что все очень печально. С сокетом можно ассоциировать событие, созданное только этой функцией. Теперь поищите по WSAEventSelect, и сделайте соотв. выводы.


E>А где говорится о том, что WFMO нельзя использовать вместо WSAWaitForMultipleEvents?

E>Нет, серьезно. WSAWaitForMultipleEvents выглядит как тонкая обертка над WFMO, может таковой она и является? MSDN не всегда достоверный источник информации, тем более, что если бы в WFMO нельзя было передавать дескрипторы сокетов, то WFMO_Reactor вообще бы не работал.

К слову, вот что удалось найти через Google:

Blocking and waiting for Completion Indication —
Applications may also choose to block while waiting for one
or more event objects to become set using
WSAWaitForMultipleEvents(). In Win16 implementations, this
will utilize a blocking hook as is currently provided for
standard blocking socket operations. In Win32
implementations, the process or thread will be truly
blocked. Since Winsock 2 event objects are implemented as
Win32 events, the native Win32 function
WaitForMultipleObjects() may also be used for this purpose.
This is especially useful if the thread needs to wait on
both socket and non-socket events
.

http://ftp.undernet.org/clients/windows/winsock/ftp/wsapi206.txt
(выделенное курсивом как раз актуально для WMFO_Reactor с его дополнительными событиями).

В других местах так же пишут о том, что WSAWFME всего лишь обертка над WMFO. И что это просто историческое стечение обстоятельств.


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.