3 // $Id: Strategies_T.inl 81503 2008-04-28 18:28:15Z johnnyw $
5 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
7 template <class SVC_HANDLER> ACE_INLINE
8 ACE_Singleton_Strategy<SVC_HANDLER>::ACE_Singleton_Strategy (SVC_HANDLER *sh,
9 ACE_Thread_Manager *tm)
11 delete_svc_handler_ (1)
13 ACE_TRACE ("ACE_Singleton_Strategy<SVC_HANDLER>::ACE_Singleton_Strategy");
14 if (this->open (sh, tm) == -1)
17 ACE_TEXT ("ACE_Singleton_Strategy")));
20 template <class SVC_HANDLER> ACE_INLINE int
21 ACE_Creation_Strategy<SVC_HANDLER>::open (ACE_Thread_Manager *thr_mgr,
24 ACE_TRACE ("ACE_Creation_Strategy<SVC_HANDLER>::open");
25 this->thr_mgr_ = thr_mgr;
26 this->reactor_ = reactor;
30 template <class SVC_HANDLER> ACE_INLINE
31 ACE_Creation_Strategy<SVC_HANDLER>::ACE_Creation_Strategy (ACE_Thread_Manager *thr_mgr,
34 ACE_TRACE ("ACE_Creation_Strategy<SVC_HANDLER>::ACE_Creation_Strategy");
35 if (this->open (thr_mgr, reactor) == -1)
38 ACE_TEXT ("ACE_Creation_Strategy")));
41 template <class SVC_HANDLER> ACE_INLINE
42 ACE_DLL_Strategy<SVC_HANDLER>::ACE_DLL_Strategy (const ACE_TCHAR dll_name[],
43 const ACE_TCHAR factory_function[],
44 const ACE_TCHAR svc_name[],
45 ACE_Service_Repository *svc_rep,
46 ACE_Thread_Manager *thr_mgr)
48 ACE_TRACE ("ACE_DLL_Strategy<SVC_HANDLER>::ACE_DLL_Strategy");
49 if (this->open (dll_name,
59 template <class SVC_HANDLER> ACE_INLINE
60 ACE_DLL_Strategy<SVC_HANDLER>::ACE_DLL_Strategy (void)
62 ACE_TRACE ("ACE_DLL_Strategy<SVC_HANDLER>::ACE_DLL_Strategy");
65 template <class SVC_HANDLER> ACE_INLINE
66 ACE_Concurrency_Strategy<SVC_HANDLER>::ACE_Concurrency_Strategy (int flags)
69 ACE_TRACE ("ACE_Concurrency_Strategy<SVC_HANDLER>::ACE_Concurrency_Strategy");
72 template <class SVC_HANDLER> ACE_INLINE
73 ACE_Reactive_Strategy<SVC_HANDLER>::ACE_Reactive_Strategy (ACE_Reactor *reactor,
74 ACE_Reactor_Mask mask,
77 ACE_TRACE ("ACE_Reactive_Strategy<SVC_HANDLER>::ACE_Reactive_Strategy");
79 if (this->open (reactor,
84 ACE_TEXT ("ACE_Reactive_Strategy<SVC_HANDLER>::ACE_Reactive_Strategy")));
87 template <class SVC_HANDLER> ACE_INLINE
88 ACE_Reactive_Strategy<SVC_HANDLER>::ACE_Reactive_Strategy (int flags)
89 : ACE_Concurrency_Strategy<SVC_HANDLER> (flags),
91 mask_ (ACE_Event_Handler::NULL_MASK)
93 ACE_TRACE ("ACE_Reactive_Strategy<SVC_HANDLER>::ACE_Reactive_Strategy");
96 template <class SVC_HANDLER> ACE_INLINE
97 ACE_Thread_Strategy<SVC_HANDLER>::ACE_Thread_Strategy (ACE_Thread_Manager *thr_mgr,
102 ACE_TRACE ("ACE_Thread_Strategy<SVC_HANDLER>::ACE_Thread_Strategy");
104 if (this->open (thr_mgr,
108 ACE_ERROR ((LM_ERROR,
110 ACE_TEXT ("ACE_Thread_Strategy<SVC_HANDLER>::ACE_Thread_Strategy")));
113 template <class SVC_HANDLER> ACE_INLINE
114 ACE_Thread_Strategy<SVC_HANDLER>::ACE_Thread_Strategy (int flags)
115 : ACE_Concurrency_Strategy<SVC_HANDLER> (flags),
120 ACE_TRACE ("ACE_Thread_Strategy<SVC_HANDLER>::ACE_Thread_Strategy");
123 template <class SVC_HANDLER, ACE_PEER_ACCEPTOR_1> ACE_INLINE
124 ACE_Accept_Strategy<SVC_HANDLER, ACE_PEER_ACCEPTOR_2>::ACE_Accept_Strategy (ACE_Reactor *reactor)
127 ACE_TRACE ("ACE_Accept_Strategy<SVC_HANDLER, ACE_PEER_ACCEPTOR_2>::ACE_Accept_Strategy");
130 template <class SVC_HANDLER, ACE_PEER_CONNECTOR_1> ACE_INLINE
131 ACE_Connect_Strategy<SVC_HANDLER, ACE_PEER_CONNECTOR_2>::ACE_Connect_Strategy (void)
133 ACE_TRACE ("ACE_Connect_Strategy<SVC_HANDLER, ACE_PEER_CONNECTOR_2>::ACE_Connect_Strategy");
136 template <class SVC_HANDLER> ACE_INLINE
137 ACE_Process_Strategy<SVC_HANDLER>::ACE_Process_Strategy (size_t n_processes,
138 ACE_Event_Handler *acceptor,
139 ACE_Reactor *reactor,
142 ACE_TRACE ("ACE_Process_Strategy<SVC_HANDLER>::ACE_Process_Strategy");
143 if (this->open (n_processes,
146 avoid_zombies) == -1)
147 ACE_ERROR ((LM_ERROR,
149 ACE_TEXT ("ACE_Process_Strategy")));
152 template <class SVC_HANDLER> ACE_INLINE
153 ACE_Scheduling_Strategy<SVC_HANDLER>::ACE_Scheduling_Strategy (SVC_HANDLER *)
155 ACE_TRACE ("ACE_Scheduling_Strategy<SVC_HANDLER>::ACE_Scheduling_Strategy");
158 template <class SVC_HANDLER> ACE_INLINE
159 ACE_Schedule_All_Reactive_Strategy<SVC_HANDLER>::ACE_Schedule_All_Reactive_Strategy
160 (SVC_HANDLER *scheduler)
161 : ACE_Scheduling_Strategy<SVC_HANDLER> (scheduler)
163 ACE_TRACE ("ACE_Schedule_All_Reactive_Strategy<SVC_HANDLER>::ACE_Schedule_All_Reactive_Strategy");
165 if (scheduler == 0 || scheduler->reactor () == 0)
166 this->reactor_ = ACE_Reactor::instance ();
168 this->reactor_ = scheduler->reactor ();
171 template <class SVC_HANDLER> ACE_INLINE
172 ACE_Schedule_All_Threaded_Strategy<SVC_HANDLER>::ACE_Schedule_All_Threaded_Strategy
173 (SVC_HANDLER *scheduler)
174 : ACE_Scheduling_Strategy<SVC_HANDLER> (scheduler)
176 ACE_TRACE ("ACE_Schedule_All_Threaded_Strategy<SVC_HANDLER>::ACE_Schedule_All_Threaded_Strategy");
178 if (scheduler == 0 || scheduler->thr_mgr () == 0)
179 this->thr_mgr_ = ACE_Thread_Manager::instance ();
181 this->thr_mgr_ = scheduler->thr_mgr ();
184 template <class T> ACE_INLINE
185 ACE_Refcounted_Hash_Recyclable<T>::ACE_Refcounted_Hash_Recyclable (void)
186 : ACE_Refcountable (0),
188 ACE_Recyclable (ACE_RECYCLABLE_UNKNOWN),
193 template <class T> ACE_INLINE
194 ACE_Refcounted_Hash_Recyclable<T>::ACE_Refcounted_Hash_Recyclable (const T &t,
196 ACE_Recyclable_State state)
197 : ACE_Refcountable (refcount),
199 ACE_Recyclable (state),
204 template <class T> ACE_INLINE u_long
205 ACE_Refcounted_Hash_Recyclable<T>::hash_i (void) const
207 return this->t_.hash ();
210 template <class T> ACE_INLINE T &
211 ACE_Refcounted_Hash_Recyclable<T>::subject (void)
216 template <class T> ACE_INLINE bool
217 ACE_Refcounted_Hash_Recyclable<T>::operator== (const ACE_Refcounted_Hash_Recyclable<T> &rhs) const
220 this->recycle_state () == rhs.recycle_state ()
221 && this->t_ == rhs.t_;
224 template <class T> ACE_INLINE bool
225 ACE_Refcounted_Hash_Recyclable<T>::operator!= (const ACE_Refcounted_Hash_Recyclable<T> &rhs) const
227 return !this->operator== (rhs);
230 ACE_END_VERSIONED_NAMESPACE_DECL