Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

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)
 Remove the binding of ACE_HANDLE in accordance with the <mask>.
int unbind_all (void)
 Remove all the (ACE_HANDLE, ACE_Event_Handler) tuples.
unsigned long add_ref (ACE_HANDLE handle)
unsigned long remove_ref (ACE_HANDLE handle)
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

ACE_INLINE unsigned long ACE_Dev_Poll_Reactor_Handler_Repository::add_ref ACE_HANDLE  handle  ) 
 

Returns:
Returns the updated reference count.

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 unsigned long ACE_Dev_Poll_Reactor_Handler_Repository::remove_ref ACE_HANDLE  handle  ) 
 

Returns:
Returns the updated reference count.

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  ) 
 

Remove the binding of ACE_HANDLE in accordance with the <mask>.

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 Fri Dec 31 14:53:47 2004 for ACE by  doxygen 1.3.9.1