`sig
type mset
type mset_policy = [ `Balance_load | `Failover ]
type mset_config = {
mset_mclient_config : Rpc_proxy.ManagedClient.mclient_config;
mset_policy : Rpc_proxy.ManagedSet.mset_policy;
mset_pending_calls_max : int;
mset_pending_calls_norm : int;
mset_idempotent_max : int;
mset_idempotent_wait : float;
}
exception Cluster_service_unavailable
val create_mset_config :
?mclient_config:Rpc_proxy.ManagedClient.mclient_config ->
?policy:Rpc_proxy.ManagedSet.mset_policy ->
?pending_calls_max:int ->
?pending_calls_norm:int ->
?idempotent_max:int ->
?idempotent_wait:float -> unit -> Rpc_proxy.ManagedSet.mset_config
val create_mset :
Rpc_proxy.ManagedSet.mset_config ->
(Rpc_client.connector * int) array ->
Unixqueue.event_system -> Rpc_proxy.ManagedSet.mset
val mset_pick :
?from:int list ->
Rpc_proxy.ManagedSet.mset -> Rpc_proxy.ManagedClient.mclient * int
val mset_services :
Rpc_proxy.ManagedSet.mset -> (Rpc_client.connector * int) array
val mset_load : Rpc_proxy.ManagedSet.mset -> int array
val event_system : Rpc_proxy.ManagedSet.mset -> Unixqueue.event_system
val shut_down : Rpc_proxy.ManagedSet.mset -> unit
val sync_shutdown : Rpc_proxy.ManagedSet.mset -> unit
val trigger_shutdown : Rpc_proxy.ManagedSet.mset -> (unit -> unit) -> unit
val idempotent_async_call :
?from:int list ->
Rpc_proxy.ManagedSet.mset ->
(Rpc_proxy.ManagedClient.mclient -> 'a -> ((unit -> 'b) -> unit) -> unit) ->
'a -> ((unit -> 'b) -> unit) -> unit
val idempotent_sync_call :
?from:int list ->
Rpc_proxy.ManagedSet.mset ->
(Rpc_proxy.ManagedClient.mclient -> 'a -> ((unit -> 'b) -> unit) -> unit) ->
'a -> 'b
end`