ACE_Proactor Class Reference

#include <Proactor.h>

List of all members.

Public Member Functions

 ACE_Proactor (size_t=0, Timer_Queue *=0)
 ~ACE_Proactor (void)
int handle_events (void)
int handle_events (ACE_Time_Value &)

Static Public Member Functions

ACE_Proactorinstance (size_t threads=0)
 Placeholder to enable compilation on non-Win32 platforms.

ACE_Proactorinstance (ACE_Proactor *)
 Placeholder to enable compilation on non-Win32 platforms.

void close_singleton (void)
 Placeholder to enable compilation on non-Win32 platforms.

int run_event_loop (void)
 Placeholder to enable compilation on non-Win32 platforms.

int run_event_loop (ACE_Time_Value &tv)
 Placeholder to enable compilation on non-Win32 platforms.

int end_event_loop (void)
 Placeholder to enable compilation on non-Win32 platforms.

sig_atomic_t event_loop_done (void)
 Placeholder to enable compilation on non-Win32 platforms.


Constructor & Destructor Documentation

ACE_Proactor::ACE_Proactor size_t  = 0,
Timer_Queue = 0
[inline]
 

Definition at line 657 of file Proactor.h.

00658                                             {}

ACE_Proactor::~ACE_Proactor void   )  [inline]
 

Definition at line 659 of file Proactor.h.

00659 {}


Member Function Documentation

void ACE_Proactor::close_singleton void   )  [static]
 

Placeholder to enable compilation on non-Win32 platforms.

Definition at line 404 of file Proactor.cpp.

References ACE_GUARD, and ACE_TRACE.

00405 {
00406   ACE_TRACE ("ACE_Proactor::close_singleton");
00407 
00408   ACE_MT (ACE_GUARD (ACE_Recursive_Thread_Mutex, ace_mon,
00409                      *ACE_Static_Object_Lock::instance ()));
00410 
00411   if (ACE_Proactor::delete_proactor_)
00412     {
00413 
00414       delete ACE_Proactor::proactor_;
00415       ACE_Proactor::proactor_ = 0;
00416       ACE_Proactor::delete_proactor_ = 0;
00417     }
00418 }

ACE_INLINE int ACE_Proactor::end_event_loop void   )  [static]
 

Placeholder to enable compilation on non-Win32 platforms.

Definition at line 45 of file Proactor.inl.

References ACE_TRACE, and instance().

00046 {
00047   ACE_TRACE ("ACE_Proactor::end_event_loop");
00048   ACE_Proactor * const p = ACE_Proactor::instance ();
00049 
00050   if (p == 0)
00051     return -1;
00052 
00053   return p->proactor_end_event_loop ();
00054 }

ACE_INLINE int ACE_Proactor::event_loop_done void   )  [static]
 

Placeholder to enable compilation on non-Win32 platforms.

Definition at line 57 of file Proactor.inl.

References ACE_TRACE, and instance().

00058 {
00059   ACE_TRACE ("ACE_Proactor::event_loop_done");
00060   ACE_Proactor * const p = ACE_Proactor::instance ();
00061 
00062   if (p == 0)
00063     return -1;
00064 
00065   return p->proactor_event_loop_done ();
00066 }

int ACE_Proactor::handle_events ACE_Time_Value wait_time  )  [inline]
 

Definition at line 661 of file Proactor.h.

00661 { return -1; }

int ACE_Proactor::handle_events void   )  [inline]
 

Definition at line 660 of file Proactor.h.

00660 { return -1; }

ACE_Proactor* ACE_Proactor::instance ACE_Proactor  )  [static]
 

Placeholder to enable compilation on non-Win32 platforms.

ACE_Proactor * ACE_Proactor::instance size_t  threads = 0  )  [static]
 

Placeholder to enable compilation on non-Win32 platforms.

Definition at line 362 of file Proactor.cpp.

References ACE_GUARD_RETURN, ACE_NEW_RETURN, ACE_REGISTER_FRAMEWORK_COMPONENT, and ACE_TRACE.

Referenced by end_event_loop(), event_loop_done(), and run_event_loop().

00363 {
00364   ACE_TRACE ("ACE_Proactor::instance");
00365 
00366   if (ACE_Proactor::proactor_ == 0)
00367     {
00368       // Perform Double-Checked Locking Optimization.
00369       ACE_MT (ACE_GUARD_RETURN (ACE_Recursive_Thread_Mutex, ace_mon,
00370                                 *ACE_Static_Object_Lock::instance (),
00371                                 0));
00372 
00373       if (ACE_Proactor::proactor_ == 0)
00374         {
00375           ACE_NEW_RETURN (ACE_Proactor::proactor_,
00376                           ACE_Proactor,
00377                           0);
00378 
00379           ACE_Proactor::delete_proactor_ = 1;
00380           ACE_REGISTER_FRAMEWORK_COMPONENT(ACE_Proactor, ACE_Proactor::proactor_);
00381         }
00382     }
00383   return ACE_Proactor::proactor_;
00384 }

ACE_INLINE int ACE_Proactor::run_event_loop ACE_Time_Value tv  )  [static]
 

Placeholder to enable compilation on non-Win32 platforms.

Definition at line 20 of file Proactor.inl.

References ACE_TRACE, and instance().

00021 {
00022   ACE_TRACE ("ACE_Proactor::run_event_loop (tv)");
00023   ACE_Proactor * const p = ACE_Proactor::instance ();
00024 
00025   if (p == 0)
00026     return -1;
00027 
00028   return p->proactor_run_event_loop
00029     (tv, ACE_Proactor::check_reconfiguration);
00030 }

ACE_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE int ACE_Proactor::run_event_loop void   )  [static]
 

Placeholder to enable compilation on non-Win32 platforms.

Definition at line 8 of file Proactor.inl.

References ACE_TRACE, and instance().

00009 {
00010   ACE_TRACE ("ACE_Proactor::run_event_loop");
00011   ACE_Proactor * const p = ACE_Proactor::instance ();
00012 
00013   if (p == 0)
00014     return -1;
00015 
00016   return p->proactor_run_event_loop (ACE_Proactor::check_reconfiguration);
00017 }


The documentation for this class was generated from the following files:
Generated on Sun Jan 27 12:56:22 2008 for ACE by doxygen 1.3.6