12
12
<link title="Index of modules" rel=Appendix href="index_modules.html">
13
13
<link title="Index of module types" rel=Appendix href="index_module_types.html">
14
14
<link title="Uq_gtk" rel="Chapter" href="Uq_gtk.html">
15
<link title="Uq_ssl" rel="Chapter" href="Uq_ssl.html">
16
<link title="Https_client" rel="Chapter" href="Https_client.html">
17
<link title="Uq_tcl" rel="Chapter" href="Uq_tcl.html">
15
18
<link title="Equeue" rel="Chapter" href="Equeue.html">
16
19
<link title="Unixqueue" rel="Chapter" href="Unixqueue.html">
20
<link title="Unixqueue_pollset" rel="Chapter" href="Unixqueue_pollset.html">
21
<link title="Unixqueue_select" rel="Chapter" href="Unixqueue_select.html">
22
<link title="Uq_resolver" rel="Chapter" href="Uq_resolver.html">
17
23
<link title="Uq_engines" rel="Chapter" href="Uq_engines.html">
18
24
<link title="Uq_socks5" rel="Chapter" href="Uq_socks5.html">
19
<link title="Unixqueue_mt" rel="Chapter" href="Unixqueue_mt.html">
25
<link title="Uq_io" rel="Chapter" href="Uq_io.html">
26
<link title="Uq_lwt" rel="Chapter" href="Uq_lwt.html">
27
<link title="Uq_libevent" rel="Chapter" href="Uq_libevent.html">
20
28
<link title="Equeue_intro" rel="Chapter" href="Equeue_intro.html">
21
<link title="Uq_ssl" rel="Chapter" href="Uq_ssl.html">
22
<link title="Uq_tcl" rel="Chapter" href="Uq_tcl.html">
29
<link title="Netcamlbox" rel="Chapter" href="Netcamlbox.html">
30
<link title="Netcgi_apache" rel="Chapter" href="Netcgi_apache.html">
31
<link title="Netcgi_modtpl" rel="Chapter" href="Netcgi_modtpl.html">
32
<link title="Netcgi_plex" rel="Chapter" href="Netcgi_plex.html">
23
33
<link title="Netcgi_common" rel="Chapter" href="Netcgi_common.html">
24
34
<link title="Netcgi" rel="Chapter" href="Netcgi.html">
25
35
<link title="Netcgi_ajp" rel="Chapter" href="Netcgi_ajp.html">
30
40
<link title="Netcgi1_compat" rel="Chapter" href="Netcgi1_compat.html">
31
41
<link title="Netcgi_test" rel="Chapter" href="Netcgi_test.html">
32
42
<link title="Netcgi_porting" rel="Chapter" href="Netcgi_porting.html">
33
<link title="Netcgi_plex" rel="Chapter" href="Netcgi_plex.html">
43
<link title="Http_client_conncache" rel="Chapter" href="Http_client_conncache.html">
34
44
<link title="Http_client" rel="Chapter" href="Http_client.html">
35
45
<link title="Telnet_client" rel="Chapter" href="Telnet_client.html">
36
46
<link title="Ftp_data_endpoint" rel="Chapter" href="Ftp_data_endpoint.html">
37
47
<link title="Ftp_client" rel="Chapter" href="Ftp_client.html">
48
<link title="Http_fs" rel="Chapter" href="Http_fs.html">
49
<link title="Ftp_fs" rel="Chapter" href="Ftp_fs.html">
50
<link title="Netclient_tut" rel="Chapter" href="Netclient_tut.html">
51
<link title="Netgssapi" rel="Chapter" href="Netgssapi.html">
38
52
<link title="Nethttpd_types" rel="Chapter" href="Nethttpd_types.html">
39
53
<link title="Nethttpd_kernel" rel="Chapter" href="Nethttpd_kernel.html">
40
54
<link title="Nethttpd_reactor" rel="Chapter" href="Nethttpd_reactor.html">
41
55
<link title="Nethttpd_engine" rel="Chapter" href="Nethttpd_engine.html">
42
56
<link title="Nethttpd_services" rel="Chapter" href="Nethttpd_services.html">
43
57
<link title="Nethttpd_plex" rel="Chapter" href="Nethttpd_plex.html">
58
<link title="Nethttpd_util" rel="Chapter" href="Nethttpd_util.html">
44
59
<link title="Nethttpd_intro" rel="Chapter" href="Nethttpd_intro.html">
60
<link title="Netmech_scram" rel="Chapter" href="Netmech_scram.html">
61
<link title="Netmech_scram_gssapi" rel="Chapter" href="Netmech_scram_gssapi.html">
62
<link title="Netmcore" rel="Chapter" href="Netmcore.html">
63
<link title="Netmcore_camlbox" rel="Chapter" href="Netmcore_camlbox.html">
64
<link title="Netmcore_mempool" rel="Chapter" href="Netmcore_mempool.html">
65
<link title="Netmcore_heap" rel="Chapter" href="Netmcore_heap.html">
66
<link title="Netmcore_ref" rel="Chapter" href="Netmcore_ref.html">
67
<link title="Netmcore_array" rel="Chapter" href="Netmcore_array.html">
68
<link title="Netmcore_sem" rel="Chapter" href="Netmcore_sem.html">
69
<link title="Netmcore_mutex" rel="Chapter" href="Netmcore_mutex.html">
70
<link title="Netmcore_condition" rel="Chapter" href="Netmcore_condition.html">
71
<link title="Netmcore_queue" rel="Chapter" href="Netmcore_queue.html">
72
<link title="Netmcore_buffer" rel="Chapter" href="Netmcore_buffer.html">
73
<link title="Netmcore_matrix" rel="Chapter" href="Netmcore_matrix.html">
74
<link title="Netmcore_hashtbl" rel="Chapter" href="Netmcore_hashtbl.html">
75
<link title="Netmcore_process" rel="Chapter" href="Netmcore_process.html">
76
<link title="Netmcore_tut" rel="Chapter" href="Netmcore_tut.html">
45
77
<link title="Netplex_types" rel="Chapter" href="Netplex_types.html">
46
78
<link title="Netplex_mp" rel="Chapter" href="Netplex_mp.html">
47
79
<link title="Netplex_mt" rel="Chapter" href="Netplex_mt.html">
78
116
<link title="Nethtml" rel="Chapter" href="Nethtml.html">
79
117
<link title="Netstring_str" rel="Chapter" href="Netstring_str.html">
80
118
<link title="Netstring_pcre" rel="Chapter" href="Netstring_pcre.html">
81
<link title="Netstring_mt" rel="Chapter" href="Netstring_mt.html">
82
119
<link title="Netmappings" rel="Chapter" href="Netmappings.html">
83
120
<link title="Netaux" rel="Chapter" href="Netaux.html">
84
121
<link title="Nethttp" rel="Chapter" href="Nethttp.html">
122
<link title="Netpagebuffer" rel="Chapter" href="Netpagebuffer.html">
123
<link title="Netfs" rel="Chapter" href="Netfs.html">
124
<link title="Netglob" rel="Chapter" href="Netglob.html">
125
<link title="Netauth" rel="Chapter" href="Netauth.html">
126
<link title="Netsockaddr" rel="Chapter" href="Netsockaddr.html">
127
<link title="Netnumber" rel="Chapter" href="Netnumber.html">
128
<link title="Rtypes" rel="Chapter" href="Rtypes.html">
129
<link title="Xdr_mstring" rel="Chapter" href="Xdr_mstring.html">
130
<link title="Xdr" rel="Chapter" href="Xdr.html">
131
<link title="Netcompression" rel="Chapter" href="Netcompression.html">
85
132
<link title="Netchannels_tut" rel="Chapter" href="Netchannels_tut.html">
86
133
<link title="Netmime_tut" rel="Chapter" href="Netmime_tut.html">
87
134
<link title="Netsendmail_tut" rel="Chapter" href="Netsendmail_tut.html">
88
135
<link title="Netulex_tut" rel="Chapter" href="Netulex_tut.html">
89
136
<link title="Neturl_tut" rel="Chapter" href="Neturl_tut.html">
90
137
<link title="Netsys" rel="Chapter" href="Netsys.html">
138
<link title="Netsys_posix" rel="Chapter" href="Netsys_posix.html">
139
<link title="Netsys_pollset" rel="Chapter" href="Netsys_pollset.html">
140
<link title="Netlog" rel="Chapter" href="Netlog.html">
141
<link title="Netexn" rel="Chapter" href="Netexn.html">
142
<link title="Netsys_win32" rel="Chapter" href="Netsys_win32.html">
143
<link title="Netsys_pollset_posix" rel="Chapter" href="Netsys_pollset_posix.html">
144
<link title="Netsys_pollset_win32" rel="Chapter" href="Netsys_pollset_win32.html">
145
<link title="Netsys_pollset_generic" rel="Chapter" href="Netsys_pollset_generic.html">
146
<link title="Netsys_signal" rel="Chapter" href="Netsys_signal.html">
147
<link title="Netsys_oothr" rel="Chapter" href="Netsys_oothr.html">
148
<link title="Netsys_xdr" rel="Chapter" href="Netsys_xdr.html">
149
<link title="Netsys_rng" rel="Chapter" href="Netsys_rng.html">
150
<link title="Netsys_types" rel="Chapter" href="Netsys_types.html">
151
<link title="Netsys_mem" rel="Chapter" href="Netsys_mem.html">
152
<link title="Netsys_tmp" rel="Chapter" href="Netsys_tmp.html">
153
<link title="Netgzip" rel="Chapter" href="Netgzip.html">
91
154
<link title="Netpop" rel="Chapter" href="Netpop.html">
92
155
<link title="Rpc_auth_dh" rel="Chapter" href="Rpc_auth_dh.html">
93
156
<link title="Rpc_key_service" rel="Chapter" href="Rpc_key_service.html">
94
157
<link title="Rpc_time" rel="Chapter" href="Rpc_time.html">
95
158
<link title="Rpc_auth_local" rel="Chapter" href="Rpc_auth_local.html">
96
<link title="Rtypes" rel="Chapter" href="Rtypes.html">
97
<link title="Xdr" rel="Chapter" href="Xdr.html">
159
<link title="Rpc_ssl" rel="Chapter" href="Rpc_ssl.html">
160
<link title="Rpc_xti_client" rel="Chapter" href="Rpc_xti_client.html">
98
161
<link title="Rpc" rel="Chapter" href="Rpc.html">
99
162
<link title="Rpc_program" rel="Chapter" href="Rpc_program.html">
163
<link title="Rpc_util" rel="Chapter" href="Rpc_util.html">
100
164
<link title="Rpc_portmapper_aux" rel="Chapter" href="Rpc_portmapper_aux.html">
101
165
<link title="Rpc_packer" rel="Chapter" href="Rpc_packer.html">
102
166
<link title="Rpc_transport" rel="Chapter" href="Rpc_transport.html">
106
170
<link title="Rpc_portmapper" rel="Chapter" href="Rpc_portmapper.html">
107
171
<link title="Rpc_server" rel="Chapter" href="Rpc_server.html">
108
172
<link title="Rpc_auth_sys" rel="Chapter" href="Rpc_auth_sys.html">
173
<link title="Rpc_auth_gssapi" rel="Chapter" href="Rpc_auth_gssapi.html">
174
<link title="Rpc_proxy" rel="Chapter" href="Rpc_proxy.html">
109
175
<link title="Rpc_intro" rel="Chapter" href="Rpc_intro.html">
110
176
<link title="Rpc_mapping_ref" rel="Chapter" href="Rpc_mapping_ref.html">
111
<link title="Rpc_ssl" rel="Chapter" href="Rpc_ssl.html">
112
<link title="Rpc_xti_client" rel="Chapter" href="Rpc_xti_client.html">
177
<link title="Rpc_intro_gss" rel="Chapter" href="Rpc_intro_gss.html">
113
178
<link title="Shell_sys" rel="Chapter" href="Shell_sys.html">
114
179
<link title="Shell" rel="Chapter" href="Shell.html">
115
180
<link title="Shell_uq" rel="Chapter" href="Shell_uq.html">
116
<link title="Shell_mt" rel="Chapter" href="Shell_mt.html">
181
<link title="Shell_fs" rel="Chapter" href="Shell_fs.html">
117
182
<link title="Shell_intro" rel="Chapter" href="Shell_intro.html">
118
<link title="Netsmtp" rel="Chapter" href="Netsmtp.html"><title>Ocamlnet 2 Reference Manual : Netplex_types</title>
183
<link title="Netsmtp" rel="Chapter" href="Netsmtp.html">
184
<link title="Intro" rel="Chapter" href="Intro.html">
185
<link title="Platform" rel="Chapter" href="Platform.html">
186
<link title="Foreword" rel="Chapter" href="Foreword.html">
187
<link title="Ipv6" rel="Chapter" href="Ipv6.html"><title>Ocamlnet 3 Reference Manual : Netplex_types</title>
121
190
<code class="code"><span class="keyword">sig</span><br>
191
<span class="keyword">type</span> encap = <span class="constructor">Netplex_encap</span>.encap<br>
122
192
<span class="keyword">type</span> param_value =<br>
123
193
[ <span class="keywordsign">`</span><span class="constructor">Bool</span> <span class="keyword">of</span> bool <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Float</span> <span class="keyword">of</span> float <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Int</span> <span class="keyword">of</span> int <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">String</span> <span class="keyword">of</span> string ]<br>
124
194
<span class="keyword">type</span> param_value_or_any =<br>
125
195
[ <span class="keywordsign">`</span><span class="constructor">Any</span> <span class="keyword">of</span> exn<br>
126
196
<span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Bool</span> <span class="keyword">of</span> bool<br>
197
<span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Encap</span> <span class="keyword">of</span> <span class="constructor">Netplex_types</span>.encap<br>
127
198
<span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Float</span> <span class="keyword">of</span> float<br>
128
199
<span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Int</span> <span class="keyword">of</span> int<br>
129
200
<span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">String</span> <span class="keyword">of</span> string ]<br>
134
205
<span class="keyword">method</span> log :<br>
135
206
component:string <span class="keywordsign">-></span><br>
136
207
level:<span class="constructor">Netplex_types</span>.level <span class="keywordsign">-></span> message:string <span class="keywordsign">-></span> unit<br>
137
<span class="keyword">method</span> max_level : <span class="constructor">Netplex_types</span>.level<br>
208
<span class="keyword">method</span> log_subch :<br>
209
component:string <span class="keywordsign">-></span><br>
210
subchannel:string <span class="keywordsign">-></span><br>
211
level:<span class="constructor">Netplex_types</span>.level <span class="keywordsign">-></span> message:string <span class="keywordsign">-></span> unit<br>
138
212
<span class="keyword">method</span> reopen : unit <span class="keywordsign">-></span> unit<br>
139
<span class="keyword">method</span> set_max_level : <span class="constructor">Netplex_types</span>.level <span class="keywordsign">-></span> unit<br>
140
213
<span class="keyword">end</span><br>
141
214
<span class="keyword">type</span> parallelization_type =<br>
142
215
[ <span class="keywordsign">`</span><span class="constructor">Controller_attached</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Multi_processing</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Multi_threading</span> ]<br>
216
<span class="keyword">type</span> thread_sys_id = [ <span class="keywordsign">`</span><span class="constructor">Process</span> <span class="keyword">of</span> int <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Thread</span> <span class="keyword">of</span> int ]<br>
143
217
<span class="keyword">type</span> socket_state = [ <span class="keywordsign">`</span><span class="constructor">Disabled</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Down</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Enabled</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Restarting</span> <span class="keyword">of</span> bool ]<br>
144
<span class="keyword">type</span> container_id = < ><br>
218
<span class="keyword">type</span> container_id = < socket_service_name : string ><br>
145
219
<span class="keyword">type</span> container_state =<br>
146
220
[ <span class="keywordsign">`</span><span class="constructor">Accepting</span> <span class="keyword">of</span> int * float<br>
147
221
<span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Busy</span><br>
149
223
<span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Starting</span> <span class="keyword">of</span> float ]<br>
150
224
<span class="keyword">type</span> capacity =<br>
151
225
[ <span class="keywordsign">`</span><span class="constructor">Low_quality</span> <span class="keyword">of</span> int <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Normal_quality</span> <span class="keyword">of</span> int <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Unavailable</span> ]<br>
226
<span class="keyword">type</span> extended_address =<br>
227
[ <span class="keywordsign">`</span><span class="constructor">Container</span> <span class="keyword">of</span><br>
228
string * string * string *<br>
229
[ <span class="keywordsign">`</span><span class="constructor">Any</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Process</span> <span class="keyword">of</span> int <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Thread</span> <span class="keyword">of</span> int ]<br>
230
<span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Socket</span> <span class="keyword">of</span> <span class="constructor">Unix</span>.sockaddr<br>
231
<span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Socket_file</span> <span class="keyword">of</span> string<br>
232
<span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">W32_pipe</span> <span class="keyword">of</span> string<br>
233
<span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">W32_pipe_file</span> <span class="keyword">of</span> string ]<br>
152
234
<span class="keyword">class</span> <span class="keyword">type</span> controller =<br>
153
235
<span class="keyword">object</span><br>
236
<span class="keyword">method</span> activate_lever :<br>
237
int <span class="keywordsign">-></span> <span class="constructor">Netplex_types</span>.encap <span class="keywordsign">-></span> <span class="constructor">Netplex_types</span>.encap<br>
154
238
<span class="keyword">method</span> add_admin : (<span class="constructor">Rpc_server</span>.t <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span> unit<br>
239
<span class="keyword">method</span> add_message_receiver :<br>
240
<span class="constructor">Netplex_types</span>.ctrl_message_receiver <span class="keywordsign">-></span> unit<br>
241
<span class="keyword">method</span> add_plugin : <span class="constructor">Netplex_types</span>.plugin <span class="keywordsign">-></span> unit<br>
155
242
<span class="keyword">method</span> add_service :<br>
156
243
<span class="constructor">Netplex_types</span>.socket_service <span class="keywordsign">-></span><br>
157
244
<span class="constructor">Netplex_types</span>.workload_manager <span class="keywordsign">-></span> unit<br>
245
<span class="keyword">method</span> container_count : string <span class="keywordsign">-></span> int<br>
246
<span class="keyword">method</span> containers : <span class="constructor">Netplex_types</span>.container_id list<br>
247
<span class="keyword">method</span> containers_for : string <span class="keywordsign">-></span> <span class="constructor">Netplex_types</span>.container_id list<br>
158
248
<span class="keyword">method</span> controller_config : <span class="constructor">Netplex_types</span>.controller_config<br>
159
249
<span class="keyword">method</span> event_system : <span class="constructor">Unixqueue</span>.unix_event_system<br>
250
<span class="keyword">method</span> free_resources : unit <span class="keywordsign">-></span> unit<br>
160
251
<span class="keyword">method</span> logger : <span class="constructor">Netplex_types</span>.logger<br>
161
252
<span class="keyword">method</span> ptype : <span class="constructor">Netplex_types</span>.parallelization_type<br>
253
<span class="keyword">method</span> register_lever :<br>
254
(<span class="constructor">Netplex_types</span>.controller <span class="keywordsign">-></span><br>
255
<span class="constructor">Netplex_types</span>.encap <span class="keywordsign">-></span> <span class="constructor">Netplex_types</span>.encap) <span class="keywordsign">-></span><br>
256
int<br>
162
257
<span class="keyword">method</span> restart : unit <span class="keywordsign">-></span> unit<br>
258
<span class="keyword">method</span> send_admin_message : string <span class="keywordsign">-></span> string <span class="keywordsign">-></span> string array <span class="keywordsign">-></span> unit<br>
259
<span class="keyword">method</span> send_message : string <span class="keywordsign">-></span> string <span class="keywordsign">-></span> string array <span class="keywordsign">-></span> unit<br>
163
260
<span class="keyword">method</span> services :<br>
164
261
(<span class="constructor">Netplex_types</span>.socket_service * <span class="constructor">Netplex_types</span>.socket_controller *<br>
165
262
<span class="constructor">Netplex_types</span>.workload_manager)<br>
166
263
list<br>
167
264
<span class="keyword">method</span> shutdown : unit <span class="keywordsign">-></span> unit<br>
265
<span class="keyword">method</span> startup_directory : string<br>
266
<span class="keyword">method</span> sys_id : <span class="constructor">Netplex_types</span>.thread_sys_id<br>
168
267
<span class="keyword">end</span><br>
169
268
<span class="keyword">and</span> controller_config =<br>
170
269
<span class="keyword">object</span><br>
171
270
<span class="keyword">method</span> create_logger : <span class="constructor">Netplex_types</span>.controller <span class="keywordsign">-></span> <span class="constructor">Netplex_types</span>.logger<br>
271
<span class="keyword">method</span> max_level : <span class="constructor">Netplex_types</span>.level<br>
272
<span class="keyword">method</span> set_max_level : <span class="constructor">Netplex_types</span>.level <span class="keywordsign">-></span> unit<br>
172
273
<span class="keyword">method</span> socket_directory : string<br>
173
274
<span class="keyword">end</span><br>
174
275
<span class="keyword">and</span> socket_service =<br>
177
278
<span class="constructor">Netplex_types</span>.parallelization_type <span class="keywordsign">-></span><br>
178
279
<span class="constructor">Netplex_types</span>.socket_service <span class="keywordsign">-></span> <span class="constructor">Netplex_types</span>.container<br>
179
280
<span class="keyword">method</span> name : string<br>
281
<span class="keyword">method</span> on_add : <span class="constructor">Netplex_types</span>.controller <span class="keywordsign">-></span> unit<br>
180
282
<span class="keyword">method</span> processor : <span class="constructor">Netplex_types</span>.processor<br>
283
<span class="keyword">method</span> shutdown : unit <span class="keywordsign">-></span> unit<br>
181
284
<span class="keyword">method</span> socket_service_config : <span class="constructor">Netplex_types</span>.socket_service_config<br>
182
285
<span class="keyword">method</span> sockets : (string * <span class="constructor">Unix</span>.file_descr array) list<br>
286
<span class="keyword">method</span> startup_directory : string<br>
183
287
<span class="keyword">end</span><br>
184
288
<span class="keyword">and</span> socket_service_config =<br>
185
289
<span class="keyword">object</span><br>
186
290
<span class="keyword">method</span> change_user_to : (int * int) option<br>
291
<span class="keyword">method</span> conn_limit : int option<br>
292
<span class="keyword">method</span> controller_config : <span class="constructor">Netplex_types</span>.controller_config<br>
293
<span class="keyword">method</span> gc_when_idle : bool<br>
187
294
<span class="keyword">method</span> name : string<br>
188
295
<span class="keyword">method</span> protocols : <span class="constructor">Netplex_types</span>.protocol list<br>
296
<span class="keyword">method</span> startup_timeout : float<br>
189
297
<span class="keyword">end</span><br>
190
298
<span class="keyword">and</span> protocol =<br>
191
299
<span class="keyword">object</span><br>
192
<span class="keyword">method</span> addresses : <span class="constructor">Unix</span>.sockaddr array<br>
300
<span class="keyword">method</span> addresses : <span class="constructor">Netplex_types</span>.extended_address array<br>
193
301
<span class="keyword">method</span> configure_slave_socket : <span class="constructor">Unix</span>.file_descr <span class="keywordsign">-></span> unit<br>
194
302
<span class="keyword">method</span> lstn_backlog : int<br>
195
303
<span class="keyword">method</span> lstn_reuseaddr : bool<br>
196
304
<span class="keyword">method</span> name : string<br>
197
305
<span class="keyword">method</span> so_keepalive : bool<br>
306
<span class="keyword">method</span> tcp_nodelay : bool<br>
198
307
<span class="keyword">end</span><br>
199
308
<span class="keyword">and</span> socket_controller =<br>
200
309
<span class="keyword">object</span><br>
201
310
<span class="keyword">method</span> container_state :<br>
202
(<span class="constructor">Netplex_types</span>.container_id * <span class="constructor">Netplex_types</span>.container_state * bool)<br>
311
(<span class="constructor">Netplex_types</span>.container_id * string *<br>
312
<span class="constructor">Netplex_types</span>.container_state * bool)<br>
203
313
list<br>
204
314
<span class="keyword">method</span> disable : unit <span class="keywordsign">-></span> unit<br>
205
315
<span class="keyword">method</span> enable : unit <span class="keywordsign">-></span> unit<br>
206
316
<span class="keyword">method</span> restart : unit <span class="keywordsign">-></span> unit<br>
207
317
<span class="keyword">method</span> shutdown : unit <span class="keywordsign">-></span> unit<br>
208
<span class="keyword">method</span> start_containers : int <span class="keywordsign">-></span> unit<br>
318
<span class="keyword">method</span> start_containers : int <span class="keywordsign">-></span> int<br>
209
319
<span class="keyword">method</span> state : <span class="constructor">Netplex_types</span>.socket_state<br>
210
320
<span class="keyword">method</span> stop_containers : <span class="constructor">Netplex_types</span>.container_id list <span class="keywordsign">-></span> unit<br>
211
321
<span class="keyword">end</span><br>
322
<span class="keyword">and</span> ctrl_message_receiver =<br>
323
<span class="keyword">object</span><br>
324
<span class="keyword">method</span> name : string<br>
325
<span class="keyword">method</span> receive_admin_message :<br>
326
<span class="constructor">Netplex_types</span>.controller <span class="keywordsign">-></span> string <span class="keywordsign">-></span> string array <span class="keywordsign">-></span> unit<br>
327
<span class="keyword">method</span> receive_message :<br>
328
<span class="constructor">Netplex_types</span>.controller <span class="keywordsign">-></span> string <span class="keywordsign">-></span> string array <span class="keywordsign">-></span> unit<br>
329
<span class="keyword">end</span><br>
212
330
<span class="keyword">and</span> processor_hooks =<br>
213
331
<span class="keyword">object</span><br>
214
332
<span class="keyword">method</span> global_exception_handler : exn <span class="keywordsign">-></span> bool<br>
215
<span class="keyword">method</span> post_add_hook : <span class="constructor">Netplex_types</span>.socket_service <span class="keywordsign">-></span> unit<br>
333
<span class="keyword">method</span> post_add_hook :<br>
334
<span class="constructor">Netplex_types</span>.socket_service <span class="keywordsign">-></span> <span class="constructor">Netplex_types</span>.controller <span class="keywordsign">-></span> unit<br>
216
335
<span class="keyword">method</span> post_finish_hook :<br>
217
336
<span class="constructor">Netplex_types</span>.socket_service <span class="keywordsign">-></span><br>
218
337
<span class="constructor">Netplex_types</span>.controller <span class="keywordsign">-></span> <span class="constructor">Netplex_types</span>.container_id <span class="keywordsign">-></span> unit<br>
219
<span class="keyword">method</span> post_rm_hook : <span class="constructor">Netplex_types</span>.socket_service <span class="keywordsign">-></span> unit<br>
338
<span class="keyword">method</span> post_rm_hook :<br>
339
<span class="constructor">Netplex_types</span>.socket_service <span class="keywordsign">-></span> <span class="constructor">Netplex_types</span>.controller <span class="keywordsign">-></span> unit<br>
220
340
<span class="keyword">method</span> post_start_hook : <span class="constructor">Netplex_types</span>.container <span class="keywordsign">-></span> unit<br>
221
341
<span class="keyword">method</span> pre_finish_hook : <span class="constructor">Netplex_types</span>.container <span class="keywordsign">-></span> unit<br>
222
342
<span class="keyword">method</span> pre_start_hook :<br>
227
347
<span class="keyword">method</span> receive_message :<br>
228
348
<span class="constructor">Netplex_types</span>.container <span class="keywordsign">-></span> string <span class="keywordsign">-></span> string array <span class="keywordsign">-></span> unit<br>
229
349
<span class="keyword">method</span> shutdown : unit <span class="keywordsign">-></span> unit<br>
350
<span class="keyword">method</span> system_shutdown : unit <span class="keywordsign">-></span> unit<br>
351
<span class="keyword">method</span> workload_hook : <span class="constructor">Netplex_types</span>.container <span class="keywordsign">-></span> bool <span class="keywordsign">-></span> int <span class="keywordsign">-></span> unit<br>
230
352
<span class="keyword">end</span><br>
231
353
<span class="keyword">and</span> processor =<br>
232
354
<span class="keyword">object</span><br>
233
355
<span class="keyword">method</span> global_exception_handler : exn <span class="keywordsign">-></span> bool<br>
234
<span class="keyword">method</span> post_add_hook : <span class="constructor">Netplex_types</span>.socket_service <span class="keywordsign">-></span> unit<br>
356
<span class="keyword">method</span> post_add_hook :<br>
357
<span class="constructor">Netplex_types</span>.socket_service <span class="keywordsign">-></span> <span class="constructor">Netplex_types</span>.controller <span class="keywordsign">-></span> unit<br>
235
358
<span class="keyword">method</span> post_finish_hook :<br>
236
359
<span class="constructor">Netplex_types</span>.socket_service <span class="keywordsign">-></span><br>
237
360
<span class="constructor">Netplex_types</span>.controller <span class="keywordsign">-></span> <span class="constructor">Netplex_types</span>.container_id <span class="keywordsign">-></span> unit<br>
238
<span class="keyword">method</span> post_rm_hook : <span class="constructor">Netplex_types</span>.socket_service <span class="keywordsign">-></span> unit<br>
361
<span class="keyword">method</span> post_rm_hook :<br>
362
<span class="constructor">Netplex_types</span>.socket_service <span class="keywordsign">-></span> <span class="constructor">Netplex_types</span>.controller <span class="keywordsign">-></span> unit<br>
239
363
<span class="keyword">method</span> post_start_hook : <span class="constructor">Netplex_types</span>.container <span class="keywordsign">-></span> unit<br>
240
364
<span class="keyword">method</span> pre_finish_hook : <span class="constructor">Netplex_types</span>.container <span class="keywordsign">-></span> unit<br>
241
365
<span class="keyword">method</span> pre_start_hook :<br>
250
374
<span class="constructor">Netplex_types</span>.container <span class="keywordsign">-></span> string <span class="keywordsign">-></span> string array <span class="keywordsign">-></span> unit<br>
251
375
<span class="keyword">method</span> shutdown : unit <span class="keywordsign">-></span> unit<br>
252
376
<span class="keyword">method</span> supported_ptypes : <span class="constructor">Netplex_types</span>.parallelization_type list<br>
377
<span class="keyword">method</span> system_shutdown : unit <span class="keywordsign">-></span> unit<br>
378
<span class="keyword">method</span> workload_hook : <span class="constructor">Netplex_types</span>.container <span class="keywordsign">-></span> bool <span class="keywordsign">-></span> int <span class="keywordsign">-></span> unit<br>
253
379
<span class="keyword">end</span><br>
254
380
<span class="keyword">and</span> container =<br>
255
381
<span class="keyword">object</span><br>
382
<span class="keyword">method</span> activate_lever :<br>
383
int <span class="keywordsign">-></span> <span class="constructor">Netplex_types</span>.encap <span class="keywordsign">-></span> <span class="constructor">Netplex_types</span>.encap<br>
384
<span class="keyword">method</span> call_plugin :<br>
385
<span class="constructor">Netplex_types</span>.plugin <span class="keywordsign">-></span> string <span class="keywordsign">-></span> <span class="constructor">Xdr</span>.xdr_value <span class="keywordsign">-></span> <span class="constructor">Xdr</span>.xdr_value<br>
386
<span class="keyword">method</span> container_id : <span class="constructor">Netplex_types</span>.container_id<br>
256
387
<span class="keyword">method</span> event_system : <span class="constructor">Unixqueue</span>.unix_event_system<br>
257
388
<span class="keyword">method</span> log : <span class="constructor">Netplex_types</span>.level <span class="keywordsign">-></span> string <span class="keywordsign">-></span> unit<br>
389
<span class="keyword">method</span> log_subch : string <span class="keywordsign">-></span> <span class="constructor">Netplex_types</span>.level <span class="keywordsign">-></span> string <span class="keywordsign">-></span> unit<br>
258
390
<span class="keyword">method</span> lookup : string <span class="keywordsign">-></span> string <span class="keywordsign">-></span> string option<br>
391
<span class="keyword">method</span> lookup_container_sockets : string <span class="keywordsign">-></span> string <span class="keywordsign">-></span> string array<br>
392
<span class="keyword">method</span> n_connections : int<br>
393
<span class="keyword">method</span> n_total : int<br>
394
<span class="keyword">method</span> owned_container_sockets : (string * string) list<br>
259
395
<span class="keyword">method</span> ptype : <span class="constructor">Netplex_types</span>.parallelization_type<br>
260
396
<span class="keyword">method</span> send_message : string <span class="keywordsign">-></span> string <span class="keywordsign">-></span> string array <span class="keywordsign">-></span> unit<br>
261
397
<span class="keyword">method</span> set_var : string <span class="keywordsign">-></span> <span class="constructor">Netplex_types</span>.param_value_or_any <span class="keywordsign">-></span> unit<br>
262
398
<span class="keyword">method</span> shutdown : unit <span class="keywordsign">-></span> unit<br>
263
399
<span class="keyword">method</span> socket_service : <span class="constructor">Netplex_types</span>.socket_service<br>
400
<span class="keyword">method</span> socket_service_name : string<br>
264
401
<span class="keyword">method</span> start : <span class="constructor">Unix</span>.file_descr <span class="keywordsign">-></span> <span class="constructor">Unix</span>.file_descr <span class="keywordsign">-></span> unit<br>
402
<span class="keyword">method</span> startup_directory : string<br>
265
403
<span class="keyword">method</span> system : <span class="constructor">Rpc_client</span>.t<br>
404
<span class="keyword">method</span> update_detail : <span class="constructor">Unix</span>.file_descr <span class="keywordsign">-></span> string <span class="keywordsign">-></span> unit<br>
266
405
<span class="keyword">method</span> var : string <span class="keywordsign">-></span> <span class="constructor">Netplex_types</span>.param_value_or_any<br>
267
406
<span class="keyword">end</span><br>
268
407
<span class="keyword">and</span> workload_manager =<br>
276
415
<span class="keyword">method</span> hello : <span class="constructor">Netplex_types</span>.controller <span class="keywordsign">-></span> unit<br>
277
416
<span class="keyword">method</span> shutdown : unit <span class="keywordsign">-></span> unit<br>
278
417
<span class="keyword">end</span><br>
418
<span class="keyword">and</span> plugin =<br>
419
<span class="keyword">object</span><br>
420
<span class="keyword">method</span> ctrl_added : <span class="constructor">Netplex_types</span>.controller <span class="keywordsign">-></span> unit<br>
421
<span class="keyword">method</span> ctrl_container_finished :<br>
422
<span class="constructor">Netplex_types</span>.controller <span class="keywordsign">-></span><br>
423
<span class="constructor">Netplex_types</span>.container_id <span class="keywordsign">-></span> bool <span class="keywordsign">-></span> unit<br>
424
<span class="keyword">method</span> ctrl_receive_call :<br>
425
<span class="constructor">Netplex_types</span>.controller <span class="keywordsign">-></span><br>
426
<span class="constructor">Netplex_types</span>.container_id <span class="keywordsign">-></span><br>
427
string <span class="keywordsign">-></span> <span class="constructor">Xdr</span>.xdr_value <span class="keywordsign">-></span> (<span class="constructor">Xdr</span>.xdr_value option <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span> unit<br>
428
<span class="keyword">method</span> ctrl_unplugged : <span class="constructor">Netplex_types</span>.controller <span class="keywordsign">-></span> unit<br>
429
<span class="keyword">method</span> program : <span class="constructor">Rpc_program</span>.t<br>
430
<span class="keyword">end</span><br>
279
431
<span class="keyword">class</span> <span class="keyword">type</span> par_thread =<br>
280
432
<span class="keyword">object</span><br>
281
433
<span class="keyword">method</span> info_string : string<br>
282
434
<span class="keyword">method</span> parallelizer : <span class="constructor">Netplex_types</span>.parallelizer<br>
283
435
<span class="keyword">method</span> ptype : <span class="constructor">Netplex_types</span>.parallelization_type<br>
284
<span class="keyword">method</span> sys_id : [ <span class="keywordsign">`</span><span class="constructor">Process</span> <span class="keyword">of</span> int <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Thread</span> <span class="keyword">of</span> int ]<br>
436
<span class="keyword">method</span> sys_id : <span class="constructor">Netplex_types</span>.thread_sys_id<br>
285
437
<span class="keyword">method</span> watch_shutdown : <span class="constructor">Unixqueue</span>.unix_event_system <span class="keywordsign">-></span> unit<br>
286
438
<span class="keyword">end</span><br>
287
439
<span class="keyword">and</span> parallelizer =<br>
293
445
<span class="keyword">method</span> start_thread :<br>
294
446
(<span class="constructor">Netplex_types</span>.par_thread <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br>
295
447
<span class="constructor">Unix</span>.file_descr list <span class="keywordsign">-></span><br>
448
<span class="constructor">Unix</span>.file_descr list <span class="keywordsign">-></span><br>
296
449
string <span class="keywordsign">-></span> <span class="constructor">Netplex_types</span>.logger <span class="keywordsign">-></span> <span class="constructor">Netplex_types</span>.par_thread<br>
297
450
<span class="keyword">end</span><br>
298
451
<span class="keyword">type</span> config_tree =<br>
299
[ <span class="keywordsign">`</span><span class="constructor">Parameter</span> <span class="keyword">of</span><br>
300
<span class="constructor">Netplex_types</span>.address * string * <span class="constructor">Netplex_types</span>.param_value<br>
301
<span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Section</span> <span class="keyword">of</span><br>
302
<span class="constructor">Netplex_types</span>.address * string * <span class="constructor">Netplex_types</span>.config_tree list ]<br>
452
[ <span class="keywordsign">`</span><span class="constructor">Parameter</span> <span class="keyword">of</span> string * <span class="constructor">Netplex_types</span>.param_value<br>
453
<span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Section</span> <span class="keyword">of</span> string * <span class="constructor">Netplex_types</span>.config_tree list ]<br>
303
454
<span class="keyword">and</span> address = < ><br>
304
455
<span class="keyword">class</span> <span class="keyword">type</span> config_file =<br>
305
456
<span class="keyword">object</span><br>