ACE_Dev_Poll_Reactor_Handler_Repository Class Reference

Used to map ACE_HANDLEs onto the appropriate ACE_Event_Handler *. More...

#include <Dev_Poll_Reactor.h>

Collaboration diagram for ACE_Dev_Poll_Reactor_Handler_Repository:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 ACE_Dev_Poll_Reactor_Handler_Repository (void)
 Constructor.
int open (size_t size)
 Initialize a repository of the appropriate <size>.
int close (void)
 Close down the repository.
size_t size (void) const
 Returns the current table size.
void dump (void) const
 Dump the state of an object.
Repository Manipulation Operations
Methods used to search and modify the handler repository.

ACE_Event_Handlerfind (ACE_HANDLE handle, size_t *index_p=0)
void mask (ACE_HANDLE handle, ACE_Reactor_Mask mask)
ACE_Reactor_Mask mask (ACE_HANDLE handle)
void suspend (ACE_HANDLE handle)
void resume (ACE_HANDLE handle)
int suspended (ACE_HANDLE handle) const
 Is the event handler for the given handle suspended?
int bind (ACE_HANDLE handle, ACE_Event_Handler *handler, ACE_Reactor_Mask mask)
int unbind (ACE_HANDLE handle, bool decr_refcnt=true)
int unbind_all (void)
 Remove all the (ACE_HANDLE, ACE_Event_Handler) tuples.
Sanity Checking
Methods used to prevent "out-of-range" errors when indexing the underlying handler array.

int invalid_handle (ACE_HANDLE handle) const
int handle_in_range (ACE_HANDLE handle) const

Public Attributes

 ACE_ALLOC_HOOK_DECLARE
 Declare the dynamic allocation hooks.

Private Attributes

int max_size_
 Maximum number of handles.
ACE_Dev_Poll_Event_Tuplehandlers_
 The underlying array of event handlers.

Detailed Description

Used to map ACE_HANDLEs onto the appropriate ACE_Event_Handler *.

For internal use only.

This class is simply a container that maps a handle to its corresponding event handler. It is not meant for use outside of the Dev_Poll_Reactor.


Constructor & Destructor Documentation

ACE_Dev_Poll_Reactor_Handler_Repository::ACE_Dev_Poll_Reactor_Handler_Repository ( void   ) 

Constructor.


Member Function Documentation

int ACE_Dev_Poll_Reactor_Handler_Repository::bind ( ACE_HANDLE  handle,
ACE_Event_Handler handler,
ACE_Reactor_Mask  mask 
)

Bind the ACE_Event_Handler to the ACE_HANDLE with the appropriate ACE_Reactor_Mask settings.

int ACE_Dev_Poll_Reactor_Handler_Repository::close ( void   ) 

Close down the repository.

void ACE_Dev_Poll_Reactor_Handler_Repository::dump ( void   )  const

Dump the state of an object.

ACE_Event_Handler * ACE_Dev_Poll_Reactor_Handler_Repository::find ( ACE_HANDLE  handle,
size_t *  index_p = 0 
)

Return the ACE_Event_Handler associated with ACE_HANDLE. If index_p is non-zero, then return the index location of the handle, if found.

int ACE_Dev_Poll_Reactor_Handler_Repository::handle_in_range ( ACE_HANDLE  handle  )  const

int ACE_Dev_Poll_Reactor_Handler_Repository::invalid_handle ( ACE_HANDLE  handle  )  const

ACE_INLINE ACE_Reactor_Mask ACE_Dev_Poll_Reactor_Handler_Repository::mask ( ACE_HANDLE  handle  ) 

Retrieve the event mask for the event handler associated with the given handle.

ACE_INLINE void ACE_Dev_Poll_Reactor_Handler_Repository::mask ( ACE_HANDLE  handle,
ACE_Reactor_Mask  mask 
)

Set the event mask for event handler associated with the given handle.

int ACE_Dev_Poll_Reactor_Handler_Repository::open ( size_t  size  ) 

Initialize a repository of the appropriate <size>.

ACE_INLINE void ACE_Dev_Poll_Reactor_Handler_Repository::resume ( ACE_HANDLE  handle  ) 

Mark the event handler associated with the given handle as "resumed."

ACE_INLINE size_t ACE_Dev_Poll_Reactor_Handler_Repository::size ( void   )  const

Returns the current table size.

ACE_INLINE void ACE_Dev_Poll_Reactor_Handler_Repository::suspend ( ACE_HANDLE  handle  ) 

Mark the event handler associated with the given handle as "suspended."

ACE_INLINE int ACE_Dev_Poll_Reactor_Handler_Repository::suspended ( ACE_HANDLE  handle  )  const

Is the event handler for the given handle suspended?

int ACE_Dev_Poll_Reactor_Handler_Repository::unbind ( ACE_HANDLE  handle,
bool  decr_refcnt = true 
)

Remove the binding for ACE_HANDLE; optionally decrement the associated handler's reference count.

int ACE_Dev_Poll_Reactor_Handler_Repository::unbind_all ( void   ) 

Remove all the (ACE_HANDLE, ACE_Event_Handler) tuples.


Member Data Documentation

ACE_Dev_Poll_Reactor_Handler_Repository::ACE_ALLOC_HOOK_DECLARE

Declare the dynamic allocation hooks.

ACE_Dev_Poll_Event_Tuple* ACE_Dev_Poll_Reactor_Handler_Repository::handlers_ [private]

The underlying array of event handlers.

The array of event handlers is directly indexed directly using an ACE_HANDLE value. This is Unix-specific.

int ACE_Dev_Poll_Reactor_Handler_Repository::max_size_ [private]

Maximum number of handles.


The documentation for this class was generated from the following files:
Generated on Wed Apr 19 03:05:58 2006 for ACE by  doxygen 1.4.6-4