aboutsummaryrefslogtreecommitdiff
path: root/cvs/cvsweb.cgi/code/nelns/admin_executor_service/admin_executor_service.cpp.diff?r1=1.1&r2=1.2
blob: ed0e8c1d680f4b520344d20f191a5e8dee36eec6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML>
<HEAD><style>		A { color:black }</style>
<!-- hennerik CVSweb $Revision: 1.93 $ -->
<TITLE>code/nelns/admin_executor_service/admin_executor_service.cpp - diff - 1.2</TITLE></HEAD>
<BODY BGCOLOR="#eeeeee">
<table width="100%" border=0 cellspacing=0 cellpadding=1 bgcolor="#aaaaaa"><tr valign=bottom><td><a href="/cvs/cvsweb.cgi/code/nelns/admin_executor_service/admin_executor_service.cpp"><IMG SRC="/inc/img/picto-up.gif" ALT="[BACK]" BORDER="0" WIDTH="14" HEIGHT="13"></a> <b>Return to <A HREF="/cvs/cvsweb.cgi/code/nelns/admin_executor_service/admin_executor_service.cpp">admin_executor_service.cpp</A>
 CVS log</b> <IMG SRC="/inc/img/picto-news.gif" ALT="[TXT]" BORDER="0" WIDTH="13" HEIGHT="15"></td><td align=right><IMG SRC="/inc/img/picto-dir.gif" ALT="[DIR]" BORDER="0" WIDTH="15" HEIGHT="13"> <b>Up to  <a href="/cvs/cvsweb.cgi/">Nevrax</a> / <a href="/cvs/cvsweb.cgi/code/">code</a> / <a href="/cvs/cvsweb.cgi/code/nelns/">nelns</a> / <a href="/cvs/cvsweb.cgi/code/nelns/admin_executor_service/">admin_executor_service</a></b></td></tr></table><h3 align=center>Diff for /code/nelns/admin_executor_service/admin_executor_service.cpp between version 1.1 and 1.2</h3>
<table border=0 cellspacing=0 cellpadding=0 width="100%">
<tr bgcolor="#ffffff">
<th width="50%" valign=TOP>version 1.1, 2001/04/18 13:54:25</th>
<th width="50%" valign=TOP>version 1.2, 2001/05/02 12:36:39</th>
<tr bgcolor="#dddddd"><td width="50%"><table width="100%" border=1 cellpadding=5><tr><td><b>Line 2</b>&nbsp;<font size=-1></font></td></tr></table></td><td width="50%"><table width="100%" border=1 cellpadding=5><tr><td><b>Line 2</b>&nbsp;<font size=-1></font></td></tr></table></td>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp; * Admin Executor Service (AES)</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp; * Admin Executor Service (AES)</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp; *</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp; *</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp; * $Id$</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp; * $Id$</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp; *</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp; */</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp; */</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;/* Copyright, 2000 Nevrax Ltd.</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;/* Copyright, 2000 Nevrax Ltd.</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp; *</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp; *</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; * This file is part of NEVRAX NeL Network Services</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; * This file is part of NEVRAX D.T.C. SYSTEM.</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; * NEVRAX NeL Network Services is free software; you can redistribute it and/or modify</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; * NEVRAX D.T.C. SYSTEM is free software; you can redistribute it and/or modify</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp; * it under the terms of the GNU General Public License as published by</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp; * it under the terms of the GNU General Public License as published by</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp; * the Free Software Foundation; either version 2, or (at your option)</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp; * the Free Software Foundation; either version 2, or (at your option)</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp; * any later version.</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp; * any later version.</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp; *</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp; *</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; * NEVRAX NeL Network Services is distributed in the hope that it will be useful, but</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; * NEVRAX D.T.C. SYSTEM is distributed in the hope that it will be useful, but</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp; * WITHOUT ANY WARRANTY; without even the implied warranty of</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp; * WITHOUT ANY WARRANTY; without even the implied warranty of</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp; * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp; * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp; * General Public License for more details.</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp; * General Public License for more details.</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp; *</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp; *</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp; * You should have received a copy of the GNU General Public License</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp; * You should have received a copy of the GNU General Public License</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; * along with NEVRAX NeL Network Services; see the file COPYING. If not, write to the</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; * along with NEVRAX D.T.C. SYSTEM; see the file COPYING. If not, write to the</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp; * Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp; * Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp; * MA 02111-1307, USA.</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp; * MA 02111-1307, USA.</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp; */</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp; */</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;#include &lt;nel/misc/debug.h&gt;</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;#include &lt;io.h&gt;</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;#include &lt;nel/misc/log.h&gt;</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;#include &lt;process.h&gt;</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;#include &lt;nel/misc/common.h&gt;</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;#include &lt;fcntl.h&gt;</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;#include &lt;nel/net/service.h&gt;</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;#include &lt;sys/stat.h&gt;</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;#include &lt;nel/net/net_displayer.h&gt;</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;#include &lt;string&gt;</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;#include &quot;sysload.h&quot;</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;#include &lt;list&gt;</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;#include &quot;sysmem.h&quot;</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;#include &quot;sysswap.h&quot;</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;#include &quot;nel/misc/debug.h&quot;</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;#include &quot;nel/misc/config_file.h&quot;</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;#include &quot;nel/misc/thread.h&quot;</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;#include &quot;nel/net/service.h&quot;</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;#include &quot;nel/net/net_manager.h&quot;</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;using namespace std;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;using namespace std;</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;using namespace NLMISC;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;using namespace NLMISC;</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;using namespace NLNET;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;using namespace NLNET;</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
<tr><td bgcolor="#ff9999"><font face="Helvetica,Arial" size="-1">&nbsp;static const char UNKNOW_VALUE[] = &quot;&lt;Unknown&gt;&quot;;</font></td><td bgcolor="#cccccc">&nbsp;</td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp;struct CService</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp;{</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CService(TSockId s) : ServiceSockId(s), ServiceId(NextServiceId++) { }</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;CLog StatLog(CLog::LOG_STAT);</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;TSockId &nbsp; &nbsp; &nbsp; &nbsp;ServiceSockId; &nbsp; &nbsp; &nbsp; &nbsp;// socket number to communicate with</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;uint32 &nbsp; &nbsp; &nbsp; &nbsp;ServiceId; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// id to identify it</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;string &nbsp; &nbsp; &nbsp; &nbsp;ShortName;</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;string &nbsp; &nbsp; &nbsp; &nbsp;LongName;</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp;private:</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;/// Log Stat data (STT)</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;static &nbsp; &nbsp; &nbsp; &nbsp;uint32 NextServiceId;</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;void sendData (const char *str, TSenderId from)</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;};</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;{</font></td><td bgcolor="#99cc99">&nbsp;</td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;StatLog.displayNL( str );</font></td><td bgcolor="#99cc99">&nbsp;</td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;}</font></td><td bgcolor="#99cc99">&nbsp;</td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp;uint32 CService::NextServiceId = 0;</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;/// Log the last minute average load</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;list&lt;CService&gt; Services;</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;void cbLoad ( CMessage&amp; message, TSenderId from )</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;typedef list&lt;CService&gt;::iterator sit;</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;{</font></td><td bgcolor="#99cc99">&nbsp;</td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CSysLoad sysload = CSysLoad();</font></td><td bgcolor="#99cc99">&nbsp;</td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;double &nbsp; load &nbsp; &nbsp;= sysload.getLoadInfo();</font></td><td bgcolor="#99cc99">&nbsp;</td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;string &nbsp; answer( &quot;LOAD &quot; );</font></td><td bgcolor="#99cc99">&nbsp;</td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if ( load &lt; 0 )</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;sit find (TSockId sid)</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;answer.append( UNKNOW_VALUE );</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;sit it;</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;for (it = Services.begin(); it != Services.end(); it++)</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if ((*it).ServiceSockId == sid) break;</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;else</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return it;</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;}</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;sit find (uint32 sid)</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;{</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;sit it;</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;for (it = Services.begin(); it != Services.end(); it++)</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;char str[6];</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if ((*it).ServiceId == sid) break;</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;smprintf( str, 6, &quot;%.2f&quot;, load );</font></td><td bgcolor="#99cc99">&nbsp;</td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;answer.append( string(str) );</font></td><td bgcolor="#99cc99">&nbsp;</td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return it;</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp;}</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;sendData( answer.c_str(), from );</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;class CExecuteCommandThread : public IRunnable</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;{</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;public:</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;string Command;</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CExecuteCommandThread (string command) : Command(command) { }</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;void run ()</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nlinfo (&quot;start executing: %s&quot;, Command.c_str());</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;system (Command.c_str());</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nlinfo (&quot;end executing: %s&quot;, Command.c_str());</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;}</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;}</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp;};</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp;void executeCommand (string command, bool background)</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp;{</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (command.empty()) return;</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;/// Log the total memory size and the used memory size (in B)</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;/*</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;void cbMemory ( CMessage&amp; message, TSenderId from )</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nlinfo (&quot;start executing: %s&quot;, command.c_str());</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (command[command.size()-1] == '&amp;')</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;{</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;{</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CSysMemory sysmem &nbsp; = CSysMemory();</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;command.resize(command.size()-2);</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;sint &nbsp; &nbsp; &nbsp; memUsage = sysmem.getMemoryUsage();</font></td><td bgcolor="#99cc99">&nbsp;</td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;string &nbsp; &nbsp; answer( &quot;MEM &quot; );</font></td><td bgcolor="#99cc99">&nbsp;</td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if ( memUsage &lt; 0 )</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (spawnlp (_P_NOWAIT, cmd.c_str(), command.c_str(), NULL) == -1)</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;answer.append( UNKNOW_VALUE );</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;perror (&quot;ca chie grave!!!!: &quot;);</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;else</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;else</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;char str[3];</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (spawnlp (_P_WAIT, cmd.c_str(), command.c_str(), NULL) == -1)</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;smprintf( str, 3, &quot;%d&quot;, memUsage );</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;answer.append( string(str) );</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;perror (&quot;ca chie grave!!!!: &quot;);</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nlinfo (&quot;end executing: %s&quot;, command.c_str());</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp;*/</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;sendData( answer.c_str(), from );</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;command += &quot; &gt;NUL:&quot;;</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (background)</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;IThread *thread = IThread::create (new CExecuteCommandThread (command));</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;thread-&gt;start ();</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;else</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CExecuteCommandThread cmdt (command);</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;cmdt.run ();</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;}</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;}</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;/// Log the swap size and the used swap space (in kB)</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;/*</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;void cbSwap ( CMessage&amp; message, TSenderId from )</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;// execute without </font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;void executeCommand (string command, TSockId from, CCallbackNetBase &amp;netbase)</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;{</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;{</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CSysSwap sysswap &nbsp; = CSysSwap();</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (command.empty()) return;</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;sint &nbsp; &nbsp; swapUsage = sysswap.getSwapUsage();</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;string &nbsp; answer( &quot;SWAP &quot; );</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;#define STDOUT 1</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;#define STDERR 2</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int nul, oldstdout, oldstderr;</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;char *tmpfilename = tmpnam (NULL);</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nul = _open(tmpfilename, _O_RDWR | _O_CREAT | _O_TRUNC | _O_TEMPORARY | _O_SHORT_LIVED | _O_EXCL, _S_IREAD | _S_IWRITE);</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;oldstdout = _dup(STDOUT);</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;oldstderr = _dup(STDERR);</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;_dup2(nul, STDOUT);</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;_dup2(nul, STDERR);</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;system(command.c_str());</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;_dup2(oldstdout, STDOUT);</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;_dup2(oldstderr, STDERR);</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;_close(oldstdout);</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;_close(oldstderr);</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if ( swapUsage &lt; 0 )</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;_lseek (nul, 0L, SEEK_SET);</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;while (!_eof(nul))</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;answer.append( UNKNOW_VALUE );</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;uint8 buffer[10000];</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;uint32 nbread = _read (nul, buffer, 10000);</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CMessage msgout (netbase.getSIDA(), &quot;ESCR&quot;);</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;msgout.serial (nbread);</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;msgout.serialBuffer (buffer, nbread);</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;netbase.send (msgout, from);</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;else</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;_close(nul);</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;*/</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;/*</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;FILE *fp = fopen (&quot;test.txt&quot;, &quot;r&quot;);</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;do</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;char str[3];</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;char str[1024];</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;smprintf( str, 3, &quot;%d&quot;, swapUsage );</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;fgets (str, 1024, fp);</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;answer.append( string(str) );</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (feof(fp)) break;</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;result.push_back (str);</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;while (true);</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;fclose (fp);</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp;// &nbsp; &nbsp; &nbsp;remove (&quot;test.txt&quot;);</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp;*///}</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;sendData( answer.c_str(), from );</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;////////////////////////////////////////////////////////////////////////////////////////////////////////</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;}</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;////////////////////////////////////////////////////////////////////////////////////////////////////////</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;////////////////// CONNECTION TO THE SERVICES //////////////////////////////////////////////////////////</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;////////////////////////////////////////////////////////////////////////////////////////////////////////</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;////////////////////////////////////////////////////////////////////////////////////////////////////////</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp;static void cbServiceIdentification (CMessage&amp; msgin, TSockId from, CCallbackNetBase &amp;netbase)</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp;{</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CService *c = (CService*) from-&gt;appId();</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;msgin.serial (c-&gt;ShortName);</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;msgin.serial (c-&gt;LongName);</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nlinfo (&quot;%s %s %s is identified&quot;, from-&gt;asString().c_str(), c-&gt;ShortName.c_str(), c-&gt;LongName.c_str());</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CMessage msgout (CNetManager::getSIDA (&quot;AESAS&quot;), &quot;SID&quot;);</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;msgout.serial (c-&gt;ShortName);</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;msgout.serial (c-&gt;LongName);</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CNetManager::send (&quot;AESAS&quot;, msgout);</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp;}</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;// Log all the server informations.</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;static void cbServiceReady (CMessage&amp; msgin, TSockId from, CCallbackNetBase &amp;netbase)</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;void cbSystem ( CMessage&amp; message, TSenderId from )</font></td><td bgcolor="#99cc99">&nbsp;</td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;{</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;{</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;cbLoad &nbsp; ( message, from );</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CService *c = (CService*) from-&gt;appId();</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;cbMemory ( message, from );</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;cbSwap &nbsp; ( message, from );</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nlinfo (&quot;%s %s %s is ready&quot;, from-&gt;asString().c_str(), c-&gt;ShortName.c_str(), c-&gt;LongName.c_str());</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CMessage msgout (CNetManager::getSIDA (&quot;AESAS&quot;), &quot;SR&quot;);</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;msgout.serial (c-&gt;ShortName);</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;msgout.serial (c-&gt;LongName);</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CNetManager::send (&quot;AESAS&quot;, msgout);</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;}</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;}</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp;void serviceConnection (const string &amp;serviceName, TSockId from, void *arg)</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp;{</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Services.push_back (CService(from));</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CService *c = &amp;(Services.back());</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;from-&gt;setAppId ((uint64)c);</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;/**</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nlinfo (&quot;%s is connected&quot;, from-&gt;asString().c_str());</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; * Callback Array</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; * Message types:</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CMessage msgout (CNetManager::getSIDA (&quot;AESAS&quot;), &quot;SC&quot;);</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; * &nbsp; &nbsp; &nbsp;LOAD: &nbsp; log Load information</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CNetManager::send (&quot;AESAS&quot;, msgout);</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; * &nbsp; &nbsp; &nbsp;MEMORY: log Memory information</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;}</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; * &nbsp; &nbsp; &nbsp;SWAP: &nbsp; log Swap information</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; * &nbsp; &nbsp; &nbsp;SYSTEM: log the Load, Memory, and Swap informations</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;void serviceDisconnection (const string &amp;serviceName, TSockId from, void *arg)</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; */</font></td><td bgcolor="#99cc99">&nbsp;</td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;TCallbackItem CallbackArray[] =</font></td><td bgcolor="#99cc99">&nbsp;</td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;{</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;{</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{ &quot;LOAD&quot;, &nbsp; cbLoad },</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CService *c = (CService*) from-&gt;appId();</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{ &quot;MEMORY&quot;, cbMemory },</font></td><td bgcolor="#99cc99">&nbsp;</td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{ &quot;SWAP&quot;, &nbsp; cbSwap },</font></td><td bgcolor="#99cc99">&nbsp;</td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{ &quot;SYSTEM&quot;, cbSystem }</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nlinfo (&quot;%s %s %s is disconnected&quot;, from-&gt;asString().c_str(), c-&gt;ShortName.c_str(), c-&gt;LongName.c_str());</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;};</font></td><td bgcolor="#99cc99">&nbsp;</td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CMessage msgout (CNetManager::getSIDA (&quot;AESAS&quot;), &quot;SD&quot;);</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;msgout.serial (c-&gt;ShortName);</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;msgout.serial (c-&gt;LongName);</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CNetManager::send (&quot;AESAS&quot;, msgout);</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp;}</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;/** Admin Executor Service (AES).</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;/** Callback Array</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; * Log informations (load, memory usage, etc ...) about the server it's</font></td><td bgcolor="#99cc99">&nbsp;</td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; * running on.</font></td><td bgcolor="#99cc99">&nbsp;</td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; * These informations are used by the Admin Service (AS) and the Naming</font></td><td bgcolor="#99cc99">&nbsp;</td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; * Service (NS) to watch the differents servers of the shard.</font></td><td bgcolor="#99cc99">&nbsp;</td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp; */</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp; */</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;class CAdminExecutorService : public NLNET::IService</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;TCallbackItem ServicesCallbackArray[] =</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;{</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;{</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;public:</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{ &quot;SID&quot;, cbServiceIdentification },</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{ &quot;SR&quot;, cbServiceReady },</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;};</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/// Initializes the service</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;////////////////////////////////////////////////////////////////////////////////////////////////////////</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;void init ()</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;////////////////////////////////////////////////////////////////////////////////////////////////////////</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;////////////////// CONNECTION TO THE AS ////////////////////////////////////////////////////////////////</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;////////////////////////////////////////////////////////////////////////////////////////////////////////</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;////////////////////////////////////////////////////////////////////////////////////////////////////////</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;static void cbExecuteSystemCommand (CMessage&amp; msgin, TSockId from, CCallbackNetBase &amp;netbase)</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// Connect to the Log Service</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;string systemCommand;</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;StatLog.addDisplayer( new NLMISC::CStdDisplayer() );</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;uint8 background;</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;msgin.serial (systemCommand);</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;msgin.serial (background);</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;NLNET::CNetDisplayer *nd = new NLNET::CNetDisplayer;</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nlinfo (&quot;I have to execute '%s'&quot;, systemCommand.c_str());</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if ( nd-&gt;connected() )</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;executeCommand (systemCommand, background==1);</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</font></td><td bgcolor="#99cc99">&nbsp;</td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;StatLog.addDisplayer( nd );</font></td><td bgcolor="#99cc99">&nbsp;</td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;else</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;static void cbStopService (CMessage&amp; msgin, TSockId from, CCallbackNetBase &amp;netbase)</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nlerror( &quot;Coudn't connect to the Log Service.&quot; );</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;string service;</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nlinfo (&quot;I have to stop service&quot;);</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp;TCallbackItem AESASCallbackArray[] =</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp;{</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{ &quot;ESC&quot;, cbExecuteSystemCommand },</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{ &quot;SS&quot;, cbStopService },</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;};</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;};</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp;////////////////////////////////////////////////////////////////////////////////////////////////////////</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp;////////////////////////////////////////////////////////////////////////////////////////////////////////</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp;////////////////// SERVICE IMPLEMENTATION //////////////////////////////////////////////////////////////</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp;////////////////////////////////////////////////////////////////////////////////////////////////////////</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp;////////////////////////////////////////////////////////////////////////////////////////////////////////</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp;class CAdminExecutorService : public IService</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp;{</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp;public:</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/// Init the service, load the universal time.</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;void &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;init ()</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CNetManager::setConnectionCallback (&quot;AES&quot;, serviceConnection, NULL);</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CNetManager::setDisconnectionCallback (&quot;AES&quot;, serviceDisconnection, NULL);</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// install the server for AS</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CNetManager::addServer (&quot;AESAS&quot;, 49996);</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;CNetManager::addCallbackArray (&quot;AESAS&quot;, AESASCallbackArray, sizeof(AESASCallbackArray)/sizeof(AESASCallbackArray[0]));</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;bool &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;update ()</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return true;</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}</font></td></tr>
<tr><td bgcolor="#cccccc">&nbsp;</td><td bgcolor="#ccccff"><font face="Helvetica,Arial" size="-1">&nbsp;};</font></td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
<tr><td bgcolor="#ff9999"><font face="Helvetica,Arial" size="-1">&nbsp;NLNET_SERVICE_MAIN( CAdminExecutorService, &quot;AES&quot;, 50009 );</font></td><td bgcolor="#cccccc">&nbsp;</td></tr>
<tr><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td><td><font face="Helvetica,Arial" size="-1">&nbsp;</font></td></tr>
<tr><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;// End of admin_executor_service.cpp</font></td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;/// Naming Service</font></td></tr>
<tr><td bgcolor="#99cc99">&nbsp;</td><td bgcolor="#99ff99"><font face="Helvetica,Arial" size="-1">&nbsp;NLNET_SERVICE_MAIN (CAdminExecutorService, &quot;AES&quot;, &quot;admin_executor_service&quot;, 49997, ServicesCallbackArray);</font></td></tr>
</table><br><hr noshade width="100%">
<table border=0><tr><td><table border=1><tr><td>Legend:<br><table border=0 cellspacing=0 cellpadding=1>
<tr><td align=center bgcolor="#ff9999">Removed from v.1.1</td><td bgcolor="#cccccc">&nbsp;</td></tr><tr bgcolor="#99ff99"><td align=center colspan=2>changed lines</td></tr><tr><td bgcolor="#cccccc">&nbsp;</td><td align=center bgcolor="#ccccff">Added in v.1.2</td></tr></table></td></tr></table>
<td><FORM METHOD="GET" ACTION="/cvs/cvsweb.cgi/code/nelns/admin_executor_service/admin_executor_service.cpp.diff">
<INPUT TYPE=HIDDEN NAME="r1" VALUE="1.1">
<INPUT TYPE=HIDDEN NAME="r2" VALUE="1.2">
<SELECT NAME="f" onchange="submit()">
<OPTION VALUE=h SELECTED>Colored Diff<OPTION VALUE=H>Long Colored Diff<OPTION VALUE=u>Unidiff<OPTION VALUE=c>Context Diff<OPTION VALUE=s>Side by Side</SELECT><INPUT TYPE=SUBMIT VALUE="Show">
</FORM>
</td></tr></table>