sig
module GeneralizedEndpoint :
sig type +'a t type kind = [ `ClientRole | `ServerRole ] end
module Client :
sig
type t = [ `Client_role ] Hydro_endpoint.GeneralizedEndpoint.t
val create :
Hydro_types.system ->
Hydro_connector.client_connector ->
Unixqueue.event_system -> Hydro_endpoint.Client.t
val configure :
Hydro_endpoint.Client.t -> Hydro_types.client_params -> unit
type response =
< addr : Unix.sockaddr option;
client : Hydro_endpoint.Client.t option;
condition : [ `Client_is_down
| `Connect_error of exn
| `Connect_timeout
| `Error of exn
| `Facet_does_not_exist of
Hydro_types.identity * string option * string
| `Message_lost of bool
| `Message_timeout
| `Object_does_not_exist of
Hydro_types.identity * string option * string
| `Operation_does_not_exist of
Hydro_types.identity * string option * string
| `Success
| `Transport_timeout
| `Unknown_exception of string
| `Unknown_local_exception of string
| `Unknown_user_exception of string
| `User_exception of Hydro_types.sliced_value ];
mode : Hydro_types.op_mode; out_args : Hydro_types.value array;
peer : Unix.sockaddr option; result : Hydro_types.value >
val twoway_call :
?facet:string ->
Hydro_endpoint.Client.t ->
Hydro_types.identity ->
Hydro_types.hintf ->
string ->
Hydro_types.call_params ->
Hydro_types.value array ->
(Hydro_endpoint.Client.response -> unit) -> unit
val queued_requests : Hydro_endpoint.Client.t -> int
val is_up : Hydro_endpoint.Client.t -> bool
val is_idle : Hydro_endpoint.Client.t -> bool
val client_id : Hydro_endpoint.Client.t -> int
val shutdown :
?ondown:(unit -> unit) -> Hydro_endpoint.Client.t -> unit
val shutdown_when_idle : Hydro_endpoint.Client.t -> unit
val abort : Hydro_endpoint.Client.t -> unit
val graceful : Hydro_endpoint.Client.t -> bool
val pool_connect : Hydro_endpoint.Client.t -> (unit -> unit) -> unit
end
module Server :
sig
type t = [ `Server_role ] Hydro_endpoint.GeneralizedEndpoint.t
val create :
?onabort:(Hydro_endpoint.Server.t -> unit) ->
Hydro_types.system ->
Hydro_types.endpoint_type ->
Hydro_types.descriptor ->
Hydro_types.server_params ->
Unixqueue.event_system -> Hydro_endpoint.Server.t
val server_id : Hydro_endpoint.Server.t -> int
val endpoint : Hydro_endpoint.Server.t -> Hydro_types.endpoint
val adapters :
Hydro_endpoint.Server.t -> Hydro_types.object_dispatcher list
val bind_adapter :
Hydro_endpoint.Server.t -> Hydro_types.object_dispatcher -> unit
val unbind_adapter :
Hydro_endpoint.Server.t -> Hydro_types.object_dispatcher -> unit
val shutdown : Hydro_endpoint.Server.t -> unit
val abort : Hydro_endpoint.Server.t -> unit
end
module Master :
sig
type t
val create :
Hydro_types.system ->
Hydro_connector.master_connector ->
Hydro_types.server_params ->
Unixqueue.event_system -> Hydro_endpoint.Master.t
val adapters :
Hydro_endpoint.Master.t -> Hydro_types.object_dispatcher list
val bind_adapter :
Hydro_endpoint.Master.t -> Hydro_types.object_dispatcher -> unit
val unbind_adapter :
Hydro_endpoint.Master.t -> Hydro_types.object_dispatcher -> unit
val shutdown : Hydro_endpoint.Master.t -> unit
end
end