00001 // -*- C++ -*- 00002 // 00003 // Reactor.inl,v 4.4 2005/10/28 16:14:55 ossama Exp 00004 00005 // Run the event loop until the <ACE_Reactor::handle_events> method 00006 // returns -1 or the <end_event_loop> method is invoked. 00007 00008 /* 00009 * Hook to specialize the Reactor with the concrete implementation 00010 * known at compile time. 00011 */ 00012 //@@ REACTOR_SPL_INCLUDE_FORWARD_DECL_ADD_HOOK 00013 00014 ACE_BEGIN_VERSIONED_NAMESPACE_DECL 00015 00016 ACE_INLINE int 00017 ACE_Reactor::run_event_loop (void) 00018 { 00019 ACE_TRACE ("ACE_Reactor::run_event_loop"); 00020 ACE_Reactor *r = ACE_Reactor::instance (); 00021 00022 if (r == 0) 00023 return -1; 00024 00025 return r->run_reactor_event_loop (ACE_Reactor::check_reconfiguration); 00026 } 00027 00028 // Run the event loop until the <ACE_Reactor::handle_events> 00029 // method returns -1, the <end_event_loop> method 00030 // is invoked, or the <ACE_Time_Value> expires. 00031 00032 ACE_INLINE int 00033 ACE_Reactor::run_event_loop (ACE_Time_Value &tv) 00034 { 00035 ACE_TRACE ("ACE_Reactor::run_event_loop"); 00036 ACE_Reactor *r = ACE_Reactor::instance (); 00037 00038 if (r == 0) 00039 return -1; 00040 00041 return r->run_reactor_event_loop 00042 (tv, ACE_Reactor::check_reconfiguration); 00043 } 00044 00045 // Run the event loop until the <ACE_Reactor::alertable_handle_events> method 00046 // returns -1 or the <end_event_loop> method is invoked. 00047 00048 ACE_INLINE int 00049 ACE_Reactor::run_alertable_event_loop (void) 00050 { 00051 ACE_TRACE ("ACE_Reactor::run_alertable_event_loop"); 00052 ACE_Reactor *r = ACE_Reactor::instance (); 00053 00054 if (r == 0) 00055 return -1; 00056 00057 return r->run_alertable_reactor_event_loop (ACE_Reactor::check_reconfiguration); 00058 } 00059 00060 // Run the event loop until the <ACE_Reactor::alertable_handle_events> 00061 // method returns -1, the <end_event_loop> method 00062 // is invoked, or the <ACE_Time_Value> expires. 00063 00064 ACE_INLINE int 00065 ACE_Reactor::run_alertable_event_loop (ACE_Time_Value &tv) 00066 { 00067 ACE_TRACE ("ACE_Reactor::run_alertable_event_loop"); 00068 ACE_Reactor *r = ACE_Reactor::instance (); 00069 00070 if (r == 0) 00071 return -1; 00072 00073 return r->run_alertable_reactor_event_loop 00074 (tv, ACE_Reactor::check_reconfiguration); 00075 } 00076 00077 ACE_INLINE void 00078 ACE_Reactor::reset_event_loop (void) 00079 { 00080 ACE_TRACE ("ACE_Reactor::reset_event_loop"); 00081 00082 ACE_Reactor::instance ()->reset_reactor_event_loop (); 00083 } 00084 00085 ACE_INLINE int 00086 ACE_Reactor::end_event_loop (void) 00087 { 00088 ACE_TRACE ("ACE_Reactor::end_event_loop"); 00089 ACE_Reactor::instance ()->end_reactor_event_loop (); 00090 00091 return 0; 00092 } 00093 00094 ACE_INLINE int 00095 ACE_Reactor::event_loop_done (void) 00096 { 00097 ACE_TRACE ("ACE_Reactor::event_loop_done"); 00098 return ACE_Reactor::instance ()->reactor_event_loop_done (); 00099 } 00100 00101 ACE_END_VERSIONED_NAMESPACE_DECL