Initial Patch of Auction House bot rev. 135
[auctionmangos.git] / dep / ACE_wrappers / ace / Strategies_T.inl
blobf3ae267bc1321d5d266d56642de5da7947644c12
1 // -*- C++ -*-
2 //
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)
10   : svc_handler_ (0),
11     delete_svc_handler_ (1)
13   ACE_TRACE ("ACE_Singleton_Strategy<SVC_HANDLER>::ACE_Singleton_Strategy");
14   if (this->open (sh, tm) == -1)
15     ACE_ERROR ((LM_ERROR,
16                 ACE_TEXT ("%p\n"),
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,
22                                           ACE_Reactor *reactor)
24   ACE_TRACE ("ACE_Creation_Strategy<SVC_HANDLER>::open");
25   this->thr_mgr_ = thr_mgr;
26   this->reactor_ = reactor;
27   return 0;
30 template <class SVC_HANDLER> ACE_INLINE
31 ACE_Creation_Strategy<SVC_HANDLER>::ACE_Creation_Strategy (ACE_Thread_Manager *thr_mgr,
32                                                            ACE_Reactor *reactor)
34   ACE_TRACE ("ACE_Creation_Strategy<SVC_HANDLER>::ACE_Creation_Strategy");
35   if (this->open (thr_mgr, reactor) == -1)
36     ACE_ERROR ((LM_ERROR,
37                 ACE_TEXT ("%p\n"),
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,
50                   factory_function,
51                   svc_name,
52                   svc_rep,
53                   thr_mgr) == -1)
54     ACE_ERROR ((LM_ERROR,
55                 ACE_TEXT ("%p\n"),
56                 ACE_TEXT ("open")));
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)
67   : flags_ (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,
75                                                            int flags)
77   ACE_TRACE ("ACE_Reactive_Strategy<SVC_HANDLER>::ACE_Reactive_Strategy");
79   if (this->open (reactor,
80                   mask,
81                   flags) == -1)
82     ACE_ERROR ((LM_ERROR,
83                 ACE_TEXT ("%p\n"),
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),
90     reactor_ (0),
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,
98                                                        long thr_flags,
99                                                        int n_threads,
100                                                        int flags)
102   ACE_TRACE ("ACE_Thread_Strategy<SVC_HANDLER>::ACE_Thread_Strategy");
104   if (this->open (thr_mgr,
105                   thr_flags,
106                   n_threads,
107                   flags) == -1)
108     ACE_ERROR ((LM_ERROR,
109                 ACE_TEXT ("%p\n"),
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),
116     thr_mgr_ (0),
117     thr_flags_ (0),
118     n_threads_ (1)
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)
125   : 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,
140                                                          int avoid_zombies)
142   ACE_TRACE ("ACE_Process_Strategy<SVC_HANDLER>::ACE_Process_Strategy");
143   if (this->open (n_processes,
144                   acceptor,
145                   reactor,
146                   avoid_zombies) == -1)
147     ACE_ERROR ((LM_ERROR,
148                 ACE_TEXT ("%p\n"),
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 ();
167   else
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 ();
180   else
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),
187     ACE_Hashable (),
188     ACE_Recyclable (ACE_RECYCLABLE_UNKNOWN),
189     t_ ()
193 template <class T> ACE_INLINE
194 ACE_Refcounted_Hash_Recyclable<T>::ACE_Refcounted_Hash_Recyclable (const T &t,
195                                                                    long refcount,
196                                                                    ACE_Recyclable_State state)
197   : ACE_Refcountable (refcount),
198     ACE_Hashable (),
199     ACE_Recyclable (state),
200     t_ (t)
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)
213   return this->t_;
216 template <class T> ACE_INLINE bool
217 ACE_Refcounted_Hash_Recyclable<T>::operator== (const ACE_Refcounted_Hash_Recyclable<T> &rhs) const
219   return
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