00001 // $Id: Reactor_Token_T.cpp 79134 2007-07-31 18:23:50Z johnnyw $ 00002 00003 #include "ace/Log_Msg.h" 00004 #include "ace/Reactor_Token_T.h" 00005 00006 ACE_BEGIN_VERSIONED_NAMESPACE_DECL 00007 00008 template <class ACE_TOKEN_TYPE> void 00009 ACE_Reactor_Token_T<ACE_TOKEN_TYPE>::dump (void) const 00010 { 00011 #if defined (ACE_HAS_DUMP) 00012 ACE_TRACE ("ACE_Reactor_Token_T::dump"); 00013 00014 ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); 00015 ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n"))); 00016 ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP)); 00017 #endif /* ACE_HAS_DUMP */ 00018 } 00019 00020 template <class ACE_TOKEN_TYPE> 00021 ACE_Reactor_Token_T<ACE_TOKEN_TYPE>::ACE_Reactor_Token_T 00022 (ACE_Reactor_Impl &r, 00023 int s_queue) 00024 : reactor_ (&r) 00025 { 00026 ACE_TRACE ("ACE_Reactor_Token_T::ACE_Reactor_Token"); 00027 00028 this->queueing_strategy (s_queue); 00029 } 00030 00031 template <class ACE_TOKEN_TYPE> 00032 ACE_Reactor_Token_T<ACE_TOKEN_TYPE>::ACE_Reactor_Token_T (int s_queue) 00033 : reactor_ (0) 00034 { 00035 ACE_TRACE ("ACE_Reactor_Token_T::ACE_Reactor_Token"); 00036 00037 this->queueing_strategy (s_queue); 00038 } 00039 00040 template <class ACE_TOKEN_TYPE> 00041 ACE_Reactor_Token_T<ACE_TOKEN_TYPE>::~ACE_Reactor_Token_T (void) 00042 { 00043 ACE_TRACE ("ACE_Reactor_Token_T::~ACE_Reactor_Token_T"); 00044 } 00045 00046 template <class ACE_TOKEN_TYPE> ACE_Reactor_Impl & 00047 ACE_Reactor_Token_T<ACE_TOKEN_TYPE>::reactor (void) 00048 { 00049 return *this->reactor_; 00050 } 00051 00052 template <class ACE_TOKEN_TYPE> void 00053 ACE_Reactor_Token_T<ACE_TOKEN_TYPE>::reactor (ACE_Reactor_Impl &reactor) 00054 { 00055 this->reactor_ = &reactor; 00056 } 00057 00058 // Used to wakeup the reactor. 00059 00060 template <class ACE_TOKEN_TYPE> void 00061 ACE_Reactor_Token_T<ACE_TOKEN_TYPE>::sleep_hook (void) 00062 { 00063 ACE_TRACE ("ACE_Reactor_Token_T::sleep_hook"); 00064 if (this->reactor_->notify () == -1) 00065 ACE_ERROR ((LM_ERROR, 00066 ACE_TEXT ("%p\n"), 00067 ACE_TEXT ("sleep_hook failed"))); 00068 } 00069 00070 ACE_END_VERSIONED_NAMESPACE_DECL