sig
type extended_proxy_addr =
< facet : string option; id : Hydro_types.identity;
mode : Hydro_types.proxy_mode;
parameters : Hydro_proxy.extended_proxy_parameters; secure :
bool >
and extended_proxy_parameters =
[ `Adapter of string
| `Connectors of
(Hydro_connector.client_connector * Hydro_types.client_params) list
| `Endpoints of Hydro_types.endpoint array
| `Well_known ]
type multiplicity = [ `Concurrent of int | `Failover ]
type shared_or_private = [ `Private of < > | `Shared ]
type domain_resolver =
Unixqueue.unix_event_system ->
string -> (Unix.inet_addr option -> unit) -> unit
class type proxy_conf_t =
object
method context : (string * string) list
method deactivation_period : float
method max_reconnections : int
method multiplicity : Hydro_proxy.multiplicity
method resolution_period : float
method shared_connections : bool
end
class type proxy_env_t =
object
method client_pool : Hydro_proxy.pool_t
method default_proxy_conf : Hydro_proxy.proxy_conf_t
method event_system : Unixqueue.event_system
method proxy_resolver : Hydro_proxy.proxy_resolver_t
method system : Hydro_types.system
end
and proxy_resolver_t =
object
method resolve :
Hydro_proxy.extended_proxy_addr ->
((Hydro_connector.client_connector * Hydro_types.client_params) list
Lazy.t -> unit) ->
Hydro_proxy.proxy_env_t -> unit
end
and proxy_t =
object
method hydro_env : Hydro_proxy.proxy_env_t
method hydro_facet : string option
method hydro_id : Hydro_types.identity
method hydro_proxy_conf : Hydro_proxy.proxy_conf_t
method hydro_reset : unit -> unit
method hydro_set_monitor :
(Hydro_proxy.proxy_t -> Hydro_proxy.managed_client_t -> bool) -> unit
method hydro_set_proxy_conf : Hydro_proxy.proxy_conf_t -> unit
method hydro_shutdown : unit -> unit
method hydro_twoway_call :
Hydro_types.hintf ->
string ->
Hydro_types.value array ->
Hydro_types.call_params ->
(Hydro_endpoint.Client.response -> unit) -> unit
end
and pool_t =
object
method abort : unit -> unit
method deactivate_host : Unix.inet_addr -> float -> unit
method deactivate_port : Hydro_types.network_port -> float -> unit
method is_available :
Unix.inet_addr ->
Hydro_types.network_port option ->
Hydro_proxy.shared_or_private -> float -> bool
method request_clients :
Hydro_types.system ->
Hydro_proxy.shared_or_private ->
int ->
(Hydro_connector.client_connector * Hydro_types.client_params) list ->
Hydro_proxy.managed_client_t list
method reset : unit -> unit
method set_esys : Unixqueue.event_system -> unit
method shutdown : unit -> unit
method trigger_shutdown : unit -> unit
end
and managed_client_t =
object
method abort : unit -> unit
method available : float -> bool
method clear_error : unit -> unit
method client : Hydro_endpoint.Client.t
method client_incarnation : int
method deactivate : float -> unit
method error_count : int
method host_port : (Unix.inet_addr * int) option
method record_error : float -> unit
method trigger_shutdown : ?ondown:(unit -> unit) -> unit -> unit
method unused_since : float option
end
val proxy_conf :
?shared_connections:bool ->
?multiplicity:Hydro_proxy.multiplicity ->
?max_reconnections:int ->
?deactivation_period:float ->
?resolution_period:float ->
?context:(string * string) list -> unit -> Hydro_proxy.proxy_conf_t
val modify_proxy_conf :
?shared_connections:bool ->
?multiplicity:Hydro_proxy.multiplicity ->
?max_reconnections:int ->
?deactivation_period:float ->
?resolution_period:float ->
?context:(string * string) list ->
Hydro_proxy.proxy_conf_t -> Hydro_proxy.proxy_conf_t
val proxy_resolver :
?domain_resolver:Hydro_proxy.domain_resolver ->
Hydro_types.client_params -> Hydro_proxy.proxy_resolver_t
val shuffle :
Random.State.t ->
Hydro_proxy.proxy_resolver_t -> Hydro_proxy.proxy_resolver_t
val proxy :
env:Hydro_proxy.proxy_env_t ->
addr:Hydro_proxy.extended_proxy_addr -> unit -> Hydro_proxy.proxy_t
val pool : unit -> Hydro_proxy.pool_t
class proxy_delegation : Hydro_proxy.proxy_t -> proxy_t
class proxy_env_delegation : Hydro_proxy.proxy_env_t -> proxy_env_t
class proxy_resolver_delegation :
Hydro_proxy.proxy_resolver_t -> proxy_resolver_t
class pool_delegation : Hydro_proxy.pool_t -> pool_t
end