# WFMO_Reactor.h File Reference

`#include "ace/config-all.h"`
`#include "ace/Signal.h"`
`#include "ace/Timer_Queue.h"`
`#include "ace/Event_Handler.h"`
`#include "ace/Auto_Event.h"`
`#include "ace/Manual_Event.h"`
`#include "ace/Condition_Thread_Mutex.h"`
`#include "ace/Lock_Adapter_T.h"`
`#include "ace/Reactor_Impl.h"`
`#include "ace/Message_Queue.h"`
`#include "ace/Process_Mutex.h"`
`#include "ace/WFMO_Reactor.inl"`

Include dependency graph for WFMO_Reactor.h:

This graph shows which files directly or indirectly include this file:

## Classes

struct | _WSANETWORKEVENTS
class | ACE_Wakeup_All_Threads_Handler
| This is a helper class whose sole purpose is to handle events on <ACE_WFMO_Reactor->wakeup_all_threads_>. More...
class | ACE_WFMO_Reactor_Handler_Repository
| Used to map ACE_HANDLEs onto the appropriate ACE_Event_Handler * and other information. More...
class | ACE_WFMO_Reactor_Handler_Repository::Common_Info
| This struct contains the necessary information for every <event_handler> entry. The reason the event is not in this structure is because we need to pass an event array into WaitForMultipleObjects and therefore keeping the events seperate makes sense. More...
class | ACE_WFMO_Reactor_Handler_Repository::Current_Info
| This structure inherits from the common structure to add information for current entries. More...
class | ACE_WFMO_Reactor_Handler_Repository::To_Be_Added_Info
| This structure inherits from the common structure to add information for <to_be_added> entries. More...
class | ACE_WFMO_Reactor_Handler_Repository::Suspended_Info
| This structure inherits from the common structure to add information for suspended entries. More...
class | ACE_WFMO_Reactor_Notify
| Unblock the <ace_wfmo_reactor> from its event loop, passing it an optional ACE_Event_Handler to dispatch. More...
class | ACE_WFMO_Reactor
| An object oriented event demultiplexor and event handler. ACE_WFMO_Reactor is a Windows-only implementation of the ACE_Reactor interface that uses the WaitForMultipleObjects() event demultiplexer. More...

## Defines

#define | FD_READ_BIT 0
#define | FD_WRITE_BIT 1
#define | FD_OOB_BIT 2
#define | FD_ACCEPT_BIT 3
#define | FD_CONNECT_BIT 4
#define | FD_CLOSE_BIT 5
#define | FD_QOS_BIT 6
#define | FD_GROUP_QOS_BIT 7
#define | FD_QOS (1 << FD_QOS_BIT)
#define | FD_GROUP_QOS (1 << FD_GROUP_QOS_BIT)
#define | FD_MAX_EVENTS 8
#define | FD_ALL_EVENTS ((1 << FD_MAX_EVENTS) - 1)
#define | WSAEVENT HANDLE

## Typedefs

typedef _WSANETWORKEVENTS | WSANETWORKEVENTS
typedef _WSANETWORKEVENTS * | LPWSANETWORKEVENTS

## Functions

int | WSAEventSelect (SOCKET s, WSAEVENT hEventObject, long lNetworkEvents)
int | WSAEnumNetworkEvents (SOCKET s, WSAEVENT hEventObject, LPWSANETWORKEVENTS lpNetworkEvents)

## Detailed Description

Id
  WFMO_Reactor.h,v 4.74 2006/02/10 10:16:55 jwillemsen Exp

Author:
  Irfan Pyarali <irfan@cs.wustl.edu>

  Tim Harrison <harrison@cs.wustl.edu>

  Doug Schmidt <schmidt@cs.wustl.edu>

## Define Documentation

#define FD_ACCEPT_BIT 3

#define FD_ALL_EVENTS ((1 << FD_MAX_EVENTS) - 1)

#define FD_CLOSE_BIT 5

#define FD_CONNECT_BIT 4

#define FD_GROUP_QOS (1 << FD_GROUP_QOS_BIT)

#define FD_GROUP_QOS_BIT 7

#define FD_MAX_EVENTS 8

#define FD_OOB_BIT 2

#define FD_QOS (1 << FD_QOS_BIT)

#define FD_QOS_BIT 6

#define FD_READ_BIT 0

#define FD_WRITE_BIT 1

#define WSAEVENT HANDLE

## Typedef Documentation

typedef struct _WSANETWORKEVENTS * LPWSANETWORKEVENTS

typedef struct _WSANETWORKEVENTS WSANETWORKEVENTS

## Function Documentation

int WSAEnumNetworkEvents | ( | SOCKET | s,
|  | WSAEVENT | hEventObject,
|  | LPWSANETWORKEVENTS | lpNetworkEvents
| ) |

int WSAEventSelect | ( | SOCKET | s,
|  | WSAEVENT | hEventObject,
|  | long | lNetworkEvents
| ) |