Sophie

Sophie

distrib > Mageia > 4 > x86_64 > by-pkgid > 1abfe597bc89458ccaa645cd148862bb > files > 652

ocaml-ocamlnet-doc-3.7.3-3.mga4.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<link rel="stylesheet" href="style.css" type="text/css">
<meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type">
<link rel="Start" href="index.html">
<link rel="previous" href="Rpc_proxy.ManagedClient.html">
<link rel="Up" href="Rpc_proxy.html">
<link title="Index of types" rel=Appendix href="index_types.html">
<link title="Index of exceptions" rel=Appendix href="index_exceptions.html">
<link title="Index of values" rel=Appendix href="index_values.html">
<link title="Index of class attributes" rel=Appendix href="index_attributes.html">
<link title="Index of class methods" rel=Appendix href="index_methods.html">
<link title="Index of classes" rel=Appendix href="index_classes.html">
<link title="Index of class types" rel=Appendix href="index_class_types.html">
<link title="Index of modules" rel=Appendix href="index_modules.html">
<link title="Index of module types" rel=Appendix href="index_module_types.html">
<link title="Uq_gtk" rel="Chapter" href="Uq_gtk.html">
<link title="Equeue" rel="Chapter" href="Equeue.html">
<link title="Unixqueue" rel="Chapter" href="Unixqueue.html">
<link title="Unixqueue_pollset" rel="Chapter" href="Unixqueue_pollset.html">
<link title="Unixqueue_select" rel="Chapter" href="Unixqueue_select.html">
<link title="Uq_resolver" rel="Chapter" href="Uq_resolver.html">
<link title="Uq_engines" rel="Chapter" href="Uq_engines.html">
<link title="Uq_socks5" rel="Chapter" href="Uq_socks5.html">
<link title="Uq_io" rel="Chapter" href="Uq_io.html">
<link title="Uq_lwt" rel="Chapter" href="Uq_lwt.html">
<link title="Uq_libevent" rel="Chapter" href="Uq_libevent.html">
<link title="Uq_mt" rel="Chapter" href="Uq_mt.html">
<link title="Equeue_intro" rel="Chapter" href="Equeue_intro.html">
<link title="Equeue_howto" rel="Chapter" href="Equeue_howto.html">
<link title="Uq_ssl" rel="Chapter" href="Uq_ssl.html">
<link title="Https_client" rel="Chapter" href="Https_client.html">
<link title="Uq_tcl" rel="Chapter" href="Uq_tcl.html">
<link title="Netcamlbox" rel="Chapter" href="Netcamlbox.html">
<link title="Netcgi_apache" rel="Chapter" href="Netcgi_apache.html">
<link title="Netcgi_modtpl" rel="Chapter" href="Netcgi_modtpl.html">
<link title="Netcgi_common" rel="Chapter" href="Netcgi_common.html">
<link title="Netcgi" rel="Chapter" href="Netcgi.html">
<link title="Netcgi_ajp" rel="Chapter" href="Netcgi_ajp.html">
<link title="Netcgi_scgi" rel="Chapter" href="Netcgi_scgi.html">
<link title="Netcgi_cgi" rel="Chapter" href="Netcgi_cgi.html">
<link title="Netcgi_fcgi" rel="Chapter" href="Netcgi_fcgi.html">
<link title="Netcgi_dbi" rel="Chapter" href="Netcgi_dbi.html">
<link title="Netcgi1_compat" rel="Chapter" href="Netcgi1_compat.html">
<link title="Netcgi_test" rel="Chapter" href="Netcgi_test.html">
<link title="Netcgi_porting" rel="Chapter" href="Netcgi_porting.html">
<link title="Netcgi_plex" rel="Chapter" href="Netcgi_plex.html">
<link title="Http_client_conncache" rel="Chapter" href="Http_client_conncache.html">
<link title="Http_client" rel="Chapter" href="Http_client.html">
<link title="Telnet_client" rel="Chapter" href="Telnet_client.html">
<link title="Ftp_data_endpoint" rel="Chapter" href="Ftp_data_endpoint.html">
<link title="Ftp_client" rel="Chapter" href="Ftp_client.html">
<link title="Http_fs" rel="Chapter" href="Http_fs.html">
<link title="Ftp_fs" rel="Chapter" href="Ftp_fs.html">
<link title="Netclient_tut" rel="Chapter" href="Netclient_tut.html">
<link title="Netgssapi" rel="Chapter" href="Netgssapi.html">
<link title="Nethttpd_types" rel="Chapter" href="Nethttpd_types.html">
<link title="Nethttpd_kernel" rel="Chapter" href="Nethttpd_kernel.html">
<link title="Nethttpd_reactor" rel="Chapter" href="Nethttpd_reactor.html">
<link title="Nethttpd_engine" rel="Chapter" href="Nethttpd_engine.html">
<link title="Nethttpd_services" rel="Chapter" href="Nethttpd_services.html">
<link title="Nethttpd_plex" rel="Chapter" href="Nethttpd_plex.html">
<link title="Nethttpd_util" rel="Chapter" href="Nethttpd_util.html">
<link title="Nethttpd_intro" rel="Chapter" href="Nethttpd_intro.html">
<link title="Netmech_scram" rel="Chapter" href="Netmech_scram.html">
<link title="Netmech_scram_gssapi" rel="Chapter" href="Netmech_scram_gssapi.html">
<link title="Netmcore" rel="Chapter" href="Netmcore.html">
<link title="Netmcore_camlbox" rel="Chapter" href="Netmcore_camlbox.html">
<link title="Netmcore_mempool" rel="Chapter" href="Netmcore_mempool.html">
<link title="Netmcore_heap" rel="Chapter" href="Netmcore_heap.html">
<link title="Netmcore_ref" rel="Chapter" href="Netmcore_ref.html">
<link title="Netmcore_array" rel="Chapter" href="Netmcore_array.html">
<link title="Netmcore_sem" rel="Chapter" href="Netmcore_sem.html">
<link title="Netmcore_mutex" rel="Chapter" href="Netmcore_mutex.html">
<link title="Netmcore_condition" rel="Chapter" href="Netmcore_condition.html">
<link title="Netmcore_queue" rel="Chapter" href="Netmcore_queue.html">
<link title="Netmcore_buffer" rel="Chapter" href="Netmcore_buffer.html">
<link title="Netmcore_matrix" rel="Chapter" href="Netmcore_matrix.html">
<link title="Netmcore_hashtbl" rel="Chapter" href="Netmcore_hashtbl.html">
<link title="Netmcore_process" rel="Chapter" href="Netmcore_process.html">
<link title="Netmcore_tut" rel="Chapter" href="Netmcore_tut.html">
<link title="Netmcore_basics" rel="Chapter" href="Netmcore_basics.html">
<link title="Netplex_types" rel="Chapter" href="Netplex_types.html">
<link title="Netplex_mp" rel="Chapter" href="Netplex_mp.html">
<link title="Netplex_mt" rel="Chapter" href="Netplex_mt.html">
<link title="Netplex_log" rel="Chapter" href="Netplex_log.html">
<link title="Netplex_controller" rel="Chapter" href="Netplex_controller.html">
<link title="Netplex_container" rel="Chapter" href="Netplex_container.html">
<link title="Netplex_sockserv" rel="Chapter" href="Netplex_sockserv.html">
<link title="Netplex_workload" rel="Chapter" href="Netplex_workload.html">
<link title="Netplex_main" rel="Chapter" href="Netplex_main.html">
<link title="Netplex_config" rel="Chapter" href="Netplex_config.html">
<link title="Netplex_kit" rel="Chapter" href="Netplex_kit.html">
<link title="Rpc_netplex" rel="Chapter" href="Rpc_netplex.html">
<link title="Netplex_cenv" rel="Chapter" href="Netplex_cenv.html">
<link title="Netplex_semaphore" rel="Chapter" href="Netplex_semaphore.html">
<link title="Netplex_sharedvar" rel="Chapter" href="Netplex_sharedvar.html">
<link title="Netplex_mutex" rel="Chapter" href="Netplex_mutex.html">
<link title="Netplex_encap" rel="Chapter" href="Netplex_encap.html">
<link title="Netplex_mbox" rel="Chapter" href="Netplex_mbox.html">
<link title="Netplex_intro" rel="Chapter" href="Netplex_intro.html">
<link title="Netplex_advanced" rel="Chapter" href="Netplex_advanced.html">
<link title="Netplex_admin" rel="Chapter" href="Netplex_admin.html">
<link title="Netshm" rel="Chapter" href="Netshm.html">
<link title="Netshm_data" rel="Chapter" href="Netshm_data.html">
<link title="Netshm_hashtbl" rel="Chapter" href="Netshm_hashtbl.html">
<link title="Netshm_array" rel="Chapter" href="Netshm_array.html">
<link title="Netshm_intro" rel="Chapter" href="Netshm_intro.html">
<link title="Netconversion" rel="Chapter" href="Netconversion.html">
<link title="Netchannels" rel="Chapter" href="Netchannels.html">
<link title="Netstream" rel="Chapter" href="Netstream.html">
<link title="Mimestring" rel="Chapter" href="Mimestring.html">
<link title="Netmime" rel="Chapter" href="Netmime.html">
<link title="Netsendmail" rel="Chapter" href="Netsendmail.html">
<link title="Neturl" rel="Chapter" href="Neturl.html">
<link title="Netaddress" rel="Chapter" href="Netaddress.html">
<link title="Netbuffer" rel="Chapter" href="Netbuffer.html">
<link title="Netdate" rel="Chapter" href="Netdate.html">
<link title="Netencoding" rel="Chapter" href="Netencoding.html">
<link title="Netulex" rel="Chapter" href="Netulex.html">
<link title="Netaccel" rel="Chapter" href="Netaccel.html">
<link title="Netaccel_link" rel="Chapter" href="Netaccel_link.html">
<link title="Nethtml" rel="Chapter" href="Nethtml.html">
<link title="Netstring_str" rel="Chapter" href="Netstring_str.html">
<link title="Netmappings" rel="Chapter" href="Netmappings.html">
<link title="Netaux" rel="Chapter" href="Netaux.html">
<link title="Nethttp" rel="Chapter" href="Nethttp.html">
<link title="Netpagebuffer" rel="Chapter" href="Netpagebuffer.html">
<link title="Netfs" rel="Chapter" href="Netfs.html">
<link title="Netglob" rel="Chapter" href="Netglob.html">
<link title="Netauth" rel="Chapter" href="Netauth.html">
<link title="Netsockaddr" rel="Chapter" href="Netsockaddr.html">
<link title="Netnumber" rel="Chapter" href="Netnumber.html">
<link title="Rtypes" rel="Chapter" href="Rtypes.html">
<link title="Xdr_mstring" rel="Chapter" href="Xdr_mstring.html">
<link title="Xdr" rel="Chapter" href="Xdr.html">
<link title="Netcompression" rel="Chapter" href="Netcompression.html">
<link title="Netunichar" rel="Chapter" href="Netunichar.html">
<link title="Netchannels_tut" rel="Chapter" href="Netchannels_tut.html">
<link title="Netmime_tut" rel="Chapter" href="Netmime_tut.html">
<link title="Netsendmail_tut" rel="Chapter" href="Netsendmail_tut.html">
<link title="Netulex_tut" rel="Chapter" href="Netulex_tut.html">
<link title="Neturl_tut" rel="Chapter" href="Neturl_tut.html">
<link title="Netstring_pcre" rel="Chapter" href="Netstring_pcre.html">
<link title="Netsys" rel="Chapter" href="Netsys.html">
<link title="Netsys_posix" rel="Chapter" href="Netsys_posix.html">
<link title="Netsys_pollset" rel="Chapter" href="Netsys_pollset.html">
<link title="Netlog" rel="Chapter" href="Netlog.html">
<link title="Netexn" rel="Chapter" href="Netexn.html">
<link title="Netsys_win32" rel="Chapter" href="Netsys_win32.html">
<link title="Netsys_pollset_posix" rel="Chapter" href="Netsys_pollset_posix.html">
<link title="Netsys_pollset_win32" rel="Chapter" href="Netsys_pollset_win32.html">
<link title="Netsys_pollset_generic" rel="Chapter" href="Netsys_pollset_generic.html">
<link title="Netsys_signal" rel="Chapter" href="Netsys_signal.html">
<link title="Netsys_oothr" rel="Chapter" href="Netsys_oothr.html">
<link title="Netsys_xdr" rel="Chapter" href="Netsys_xdr.html">
<link title="Netsys_rng" rel="Chapter" href="Netsys_rng.html">
<link title="Netsys_types" rel="Chapter" href="Netsys_types.html">
<link title="Netsys_mem" rel="Chapter" href="Netsys_mem.html">
<link title="Netsys_tmp" rel="Chapter" href="Netsys_tmp.html">
<link title="Netsys_sem" rel="Chapter" href="Netsys_sem.html">
<link title="Netsys_pmanage" rel="Chapter" href="Netsys_pmanage.html">
<link title="Netgzip" rel="Chapter" href="Netgzip.html">
<link title="Netpop" rel="Chapter" href="Netpop.html">
<link title="Rpc_auth_dh" rel="Chapter" href="Rpc_auth_dh.html">
<link title="Rpc_key_service" rel="Chapter" href="Rpc_key_service.html">
<link title="Rpc_time" rel="Chapter" href="Rpc_time.html">
<link title="Rpc_auth_local" rel="Chapter" href="Rpc_auth_local.html">
<link title="Rpc" rel="Chapter" href="Rpc.html">
<link title="Rpc_program" rel="Chapter" href="Rpc_program.html">
<link title="Rpc_util" rel="Chapter" href="Rpc_util.html">
<link title="Rpc_portmapper_aux" rel="Chapter" href="Rpc_portmapper_aux.html">
<link title="Rpc_packer" rel="Chapter" href="Rpc_packer.html">
<link title="Rpc_transport" rel="Chapter" href="Rpc_transport.html">
<link title="Rpc_client" rel="Chapter" href="Rpc_client.html">
<link title="Rpc_simple_client" rel="Chapter" href="Rpc_simple_client.html">
<link title="Rpc_portmapper_clnt" rel="Chapter" href="Rpc_portmapper_clnt.html">
<link title="Rpc_portmapper" rel="Chapter" href="Rpc_portmapper.html">
<link title="Rpc_server" rel="Chapter" href="Rpc_server.html">
<link title="Rpc_auth_sys" rel="Chapter" href="Rpc_auth_sys.html">
<link title="Rpc_auth_gssapi" rel="Chapter" href="Rpc_auth_gssapi.html">
<link title="Rpc_proxy" rel="Chapter" href="Rpc_proxy.html">
<link title="Rpc_intro" rel="Chapter" href="Rpc_intro.html">
<link title="Rpc_mapping_ref" rel="Chapter" href="Rpc_mapping_ref.html">
<link title="Rpc_intro_gss" rel="Chapter" href="Rpc_intro_gss.html">
<link title="Rpc_ssl" rel="Chapter" href="Rpc_ssl.html">
<link title="Rpc_xti_client" rel="Chapter" href="Rpc_xti_client.html">
<link title="Shell_sys" rel="Chapter" href="Shell_sys.html">
<link title="Shell" rel="Chapter" href="Shell.html">
<link title="Shell_uq" rel="Chapter" href="Shell_uq.html">
<link title="Shell_fs" rel="Chapter" href="Shell_fs.html">
<link title="Shell_intro" rel="Chapter" href="Shell_intro.html">
<link title="Netsmtp" rel="Chapter" href="Netsmtp.html">
<link title="Intro" rel="Chapter" href="Intro.html">
<link title="Platform" rel="Chapter" href="Platform.html">
<link title="Foreword" rel="Chapter" href="Foreword.html">
<link title="Ipv6" rel="Chapter" href="Ipv6.html">
<link title="Regexp" rel="Chapter" href="Regexp.html"><title>Ocamlnet 3 Reference Manual : Rpc_proxy.ManagedSet</title>
</head>
<body>
<div class="navbar"><a class="pre" href="Rpc_proxy.ManagedClient.html" title="Rpc_proxy.ManagedClient">Previous</a>
&nbsp;<a class="up" href="Rpc_proxy.html" title="Rpc_proxy">Up</a>
&nbsp;</div>
<h1>Module <a href="type_Rpc_proxy.ManagedSet.html">Rpc_proxy.ManagedSet</a></h1>
<pre><span class="keyword">module</span> ManagedSet: <code class="code">sig</code> <a href="Rpc_proxy.ManagedSet.html">..</a> <code class="code">end</code></pre><hr width="100%">
<br>
Manages a set of clients<br>
<pre><span id="TYPEmset"><span class="keyword">type</span> <code class="type"></code>mset</span> </pre>
<div class="info">
a managed set<br>
</div>

<pre><span id="TYPEmset_policy"><span class="keyword">type</span> <code class="type"></code>mset_policy</span> = <code class="type">[ `Balance_load | `Failover ]</code> </pre>
<div class="info">
Sets in which order managed clients are picked from the 
            <code class="code">services</code> array passed to <code class="code">create_mset</code>:<ul>
<li><code class="code">`Failover</code>: Picks an element from the first service
               in <code class="code">services</code> that is enabled and has free capacity.
               That means that the first service is preferred until it is
               maxed out or it fails, then the second service is preferred,
               and so on.</li>
<li><code class="code">`Balance_load</code>: Picks an element from the service in 
               <code class="code">services</code> that is enabled and has the lowest load.</li>
</ul>
<br>
</div>

<pre><code><span id="TYPEmset_config"><span class="keyword">type</span> <code class="type"></code>mset_config</span> = {</code></pre><table class="typetable">
<tr>
<td align="left" valign="top" >
<code>&nbsp;&nbsp;</code></td>
<td align="left" valign="top" >
<code><span id="TYPEELTmset_config.mset_mclient_config">mset_mclient_config</span>&nbsp;:<code class="type"><a href="Rpc_proxy.ManagedClient.html#TYPEmclient_config">Rpc_proxy.ManagedClient.mclient_config</a></code>;</code></td>
<td class="typefieldcomment" align="left" valign="top" ><code>(*</code></td><td class="typefieldcomment" align="left" valign="top" >The mclient config</td><td class="typefieldcomment" align="left" valign="bottom" ><code>*)</code></td>
</tr>
<tr>
<td align="left" valign="top" >
<code>&nbsp;&nbsp;</code></td>
<td align="left" valign="top" >
<code><span id="TYPEELTmset_config.mset_policy">mset_policy</span>&nbsp;:<code class="type"><a href="Rpc_proxy.ManagedSet.html#TYPEmset_policy">mset_policy</a></code>;</code></td>
<td class="typefieldcomment" align="left" valign="top" ><code>(*</code></td><td class="typefieldcomment" align="left" valign="top" >The policy</td><td class="typefieldcomment" align="left" valign="bottom" ><code>*)</code></td>
</tr>
<tr>
<td align="left" valign="top" >
<code>&nbsp;&nbsp;</code></td>
<td align="left" valign="top" >
<code><span id="TYPEELTmset_config.mset_pending_calls_max">mset_pending_calls_max</span>&nbsp;:<code class="type">int</code>;</code></td>
<td class="typefieldcomment" align="left" valign="top" ><code>(*</code></td><td class="typefieldcomment" align="left" valign="top" >When an mclient processes this number of calls at the same time,
              it is considered as fully busy. (Value must by &gt; 0).</td><td class="typefieldcomment" align="left" valign="bottom" ><code>*)</code></td>
</tr>
<tr>
<td align="left" valign="top" >
<code>&nbsp;&nbsp;</code></td>
<td align="left" valign="top" >
<code><span id="TYPEELTmset_config.mset_pending_calls_norm">mset_pending_calls_norm</span>&nbsp;:<code class="type">int</code>;</code></td>
<td class="typefieldcomment" align="left" valign="top" ><code>(*</code></td><td class="typefieldcomment" align="left" valign="top" >When an mclient processes less than this number of calls,
              its load is considered as too light, and it is tried to put
              more load on this client before opening another one</td><td class="typefieldcomment" align="left" valign="bottom" ><code>*)</code></td>
</tr>
<tr>
<td align="left" valign="top" >
<code>&nbsp;&nbsp;</code></td>
<td align="left" valign="top" >
<code><span id="TYPEELTmset_config.mset_idempotent_max">mset_idempotent_max</span>&nbsp;:<code class="type">int</code>;</code></td>
<td class="typefieldcomment" align="left" valign="top" ><code>(*</code></td><td class="typefieldcomment" align="left" valign="top" >How often idempotent procedures may be tried to be called.
              A negative value means infinite.</td><td class="typefieldcomment" align="left" valign="bottom" ><code>*)</code></td>
</tr>
<tr>
<td align="left" valign="top" >
<code>&nbsp;&nbsp;</code></td>
<td align="left" valign="top" >
<code><span id="TYPEELTmset_config.mset_idempotent_wait">mset_idempotent_wait</span>&nbsp;:<code class="type">float</code>;</code></td>
<td class="typefieldcomment" align="left" valign="top" ><code>(*</code></td><td class="typefieldcomment" align="left" valign="top" >Wait this number of seconds before trying again</td><td class="typefieldcomment" align="left" valign="bottom" ><code>*)</code></td>
</tr></table>
}


<pre><span id="EXCEPTIONCluster_service_unavailable"><span class="keyword">exception</span> Cluster_service_unavailable</span></pre>
<div class="info">
Raised by <code class="code">mset_pick</code> when no available endpoint can be found,
        or all available endpoints have reached their maximum load.<br>
</div>
<pre><span id="VALcreate_mset_config"><span class="keyword">val</span> create_mset_config</span> : <code class="type">?mclient_config:<a href="Rpc_proxy.ManagedClient.html#TYPEmclient_config">Rpc_proxy.ManagedClient.mclient_config</a> -><br>       ?policy:<a href="Rpc_proxy.ManagedSet.html#TYPEmset_policy">mset_policy</a> -><br>       ?pending_calls_max:int -><br>       ?pending_calls_norm:int -><br>       ?idempotent_max:int -><br>       ?idempotent_wait:float -> unit -> <a href="Rpc_proxy.ManagedSet.html#TYPEmset_config">mset_config</a></code></pre><div class="info">
Create a config record. The optional arguments set the config
        components with the same name. The defaults are:<ul>
<li><code class="code">mclient_config</code>: The default mclient config</li>
<li><code class="code">policy</code>: <code class="code">`Balance_load</code></li>
<li><code class="code">pending_calls_max</code>: <code class="code">max_int</code></li>
<li><code class="code">pending_calls_norm</code>: 1</li>
<li><code class="code">idempotent_max</code>: 3</li>
<li><code class="code">idempotent_wait</code>: 5.0</li>
</ul>
<br>
</div>
<pre><span id="VALcreate_mset"><span class="keyword">val</span> create_mset</span> : <code class="type"><a href="Rpc_proxy.ManagedSet.html#TYPEmset_config">mset_config</a> -><br>       (<a href="Rpc_client.html#TYPEconnector">Rpc_client.connector</a> * int) array -><br>       <a href="Unixqueue.event_system-c.html">Unixqueue.event_system</a> -> <a href="Rpc_proxy.ManagedSet.html#TYPEmset">mset</a></code></pre><div class="info">
<code class="code">create_mset config services</code>: The mset is created with <code class="code">config</code>,
        and the <code class="code">services</code> array describes which ports are available,
        and how often each port may be contacted (i.e. max number of
        connections).<br>
</div>
<pre><span id="VALmset_pick"><span class="keyword">val</span> mset_pick</span> : <code class="type">?from:int list -><br>       <a href="Rpc_proxy.ManagedSet.html#TYPEmset">mset</a> -> <a href="Rpc_proxy.ManagedClient.html#TYPEmclient">Rpc_proxy.ManagedClient.mclient</a> * int</code></pre><div class="info">
Pick an mclient for another call, or raise <code class="code">Cluster_service_unavailable</code>.
        The returned int is the index in the <code class="code">mset_services</code> array.
<p>

        If <code class="code">from</code> is given, not all specified mclients qualify for this
        call. In <code class="code">from</code> one can pass a list of indexes pointing into
        the <code class="code">mset_services</code> array, and only from these mclients the 
        mclient is picked. For <code class="code">`Failover</code> policies, the order given
        in <code class="code">from</code> is respected, and the mclients are checked from left
        to right.<br>
</div>
<pre><span id="VALmset_services"><span class="keyword">val</span> mset_services</span> : <code class="type"><a href="Rpc_proxy.ManagedSet.html#TYPEmset">mset</a> -> (<a href="Rpc_client.html#TYPEconnector">Rpc_client.connector</a> * int) array</code></pre><div class="info">
Returns the service array<br>
</div>
<pre><span id="VALmset_load"><span class="keyword">val</span> mset_load</span> : <code class="type"><a href="Rpc_proxy.ManagedSet.html#TYPEmset">mset</a> -> int array</code></pre><div class="info">
Returns the number of pending calls per service<br>
</div>
<pre><span id="VALevent_system"><span class="keyword">val</span> event_system</span> : <code class="type"><a href="Rpc_proxy.ManagedSet.html#TYPEmset">mset</a> -> <a href="Unixqueue.event_system-c.html">Unixqueue.event_system</a></code></pre><div class="info">
Return the event system<br>
</div>
<pre><span id="VALshut_down"><span class="keyword">val</span> shut_down</span> : <code class="type"><a href="Rpc_proxy.ManagedSet.html#TYPEmset">mset</a> -> unit</code></pre><pre><span id="VALsync_shutdown"><span class="keyword">val</span> sync_shutdown</span> : <code class="type"><a href="Rpc_proxy.ManagedSet.html#TYPEmset">mset</a> -> unit</code></pre><pre><span id="VALtrigger_shutdown"><span class="keyword">val</span> trigger_shutdown</span> : <code class="type"><a href="Rpc_proxy.ManagedSet.html#TYPEmset">mset</a> -> (unit -> unit) -> unit</code></pre><div class="info">
Shut down the managed set. See the corresponding functions
        <a href="Rpc_client.html#VALshut_down"><code class="code">Rpc_client.shut_down</code></a>, <a href="Rpc_client.html#VALsync_shutdown"><code class="code">Rpc_client.sync_shutdown</code></a>, and
        <a href="Rpc_client.html#VALtrigger_shutdown"><code class="code">Rpc_client.trigger_shutdown</code></a><br>
</div>
<pre><span id="VALidempotent_async_call"><span class="keyword">val</span> idempotent_async_call</span> : <code class="type">?from:int list -><br>       <a href="Rpc_proxy.ManagedSet.html#TYPEmset">mset</a> -><br>       (<a href="Rpc_proxy.ManagedClient.html#TYPEmclient">Rpc_proxy.ManagedClient.mclient</a> -> 'a -> ((unit -> 'b) -> unit) -> unit) -><br>       'a -> ((unit -> 'b) -> unit) -> unit</code></pre><div class="info">
<code class="code">idempotent_async_call
           mset async_call arg emit</code>: Picks a new
        <code class="code">mclient</code> and calls <code class="code">async_call mclient arg emit</code>.
        If the call leads to a fatal error, a new <code class="code">mclient</code>
        is picked, and the call is repeated. In total, the call may be
        tried <code class="code">mset_idempotent_max</code> times. It is recommended to set
        <code class="code">rcache_threshold</code> to 1 when using this function because this
        enforces that a different mclient is picked when the first one
        fails.
<p>

        Note that a timeout is not considered as a fatal error by default;
        one has to enable that by setting <code class="code">mclient_msg_timeout_is_fatal</code>.
<p>

        Note that this form of function is compatible with the 
        generated <code class="code">foo'async</code> functions of the language mapping.
<p>

        <code class="code">from</code> has the same meaning as in <code class="code">mset_pick</code>.<br>
</div>
<pre><span id="VALidempotent_sync_call"><span class="keyword">val</span> idempotent_sync_call</span> : <code class="type">?from:int list -><br>       <a href="Rpc_proxy.ManagedSet.html#TYPEmset">mset</a> -><br>       (<a href="Rpc_proxy.ManagedClient.html#TYPEmclient">Rpc_proxy.ManagedClient.mclient</a> -> 'a -> ((unit -> 'b) -> unit) -> unit) -><br>       'a -> 'b</code></pre><div class="info">
Synchronized version. Note that you have to pass an asynchronous
        function as second argument. The result is synchronous, however.<br>
</div>
</body></html>