module Hydro_client_connector: sig .. end
Connect a client with a remote endpoint
type socket = [ `Connect_addr of Unix.sockaddr * Hydro_types.transport_protocol_type
| `Connect_inet of string * int * Hydro_types.transport_protocol_type
| `Descriptor of unit -> Hydro_types.descriptor
| `Unconnected_datagram of Unix.socket_domain ]
How to get a socket
type connection = < ctrl : Hydro_transport.hydro_multiplex_controller;
shutdown : unit -> unit >
class type mplex_config = object .. end
val default_mplex_config : mplex_config
class default_mplex_config : mplex_config
type connector = [ `Mplex_controller of Hydro_transport.hydro_multiplex_controller
| `Mplex_socket of
socket * mplex_config
| `Proxy_endpoint of Hydro_types.endpoint * Hydro_types.network_port option ]
val connect_engine : connector ->
Unixqueue.event_system -> connection Uq_engines.engine
An engine that is able to create and, if requested, to connect the socket
val register_endpoint_type : Hydro_types.endpoint_type ->
(Hydro_types.endpoint ->
Hydro_types.network_port option ->
socket * mplex_config) ->
Hydro_types.proxy_mode list -> unit
By default, this module knows only about `TCP and `UDP endpoint types.
It is possible to register further types.
val proxy_supports_endpoint_type : Hydro_types.endpoint_type -> Hydro_types.proxy_mode -> bool
Whether a handler is registered for an endpoint type, and the
proxy mode is possible