module Rpc_transport: sig .. end
Low-level RPC transporters
type 'a result = [ `Error of exn | `Ok of 'a ]
type 'a result_eof = [ `End_of_file | `Error of exn | `Ok of 'a ]
type sockaddr = [ `Implied | `Sockaddr of Unix.sockaddr ]
val string_of_sockaddr : sockaddr -> string
Convert to string, for debugging purposes
exception Error of string
Passed back as `Error. Such errors are fatal.
Note errors on stream connections: These are normally not recoverable.
One should close the connection and open a new one.
type in_rule = [ `Accept | `Deny | `Drop | `Reject | `Reject_with of Rpc.server_error ]
type in_record = [ `Accept of Rpc_packer.packed_value
| `Deny
| `Drop
| `Reject of Rpc_packer.packed_value
| `Reject_with of Rpc_packer.packed_value * Rpc.server_error ]
class type rpc_multiplex_controller = object .. end
val stream_rpc_multiplex_controller : ?close_inactive_descr:bool ->
?preclose:(unit -> unit) ->
Unix.file_descr ->
Unixqueue.event_system -> rpc_multiplex_controller
The multiplex controller for stream encapsulation
close_inactive_descr: If true, the descriptor is closed when
inactivated
preclose: This function is called just before the descriptor
is closed.
val datagram_rpc_multiplex_controller : ?close_inactive_descr:bool ->
?preclose:(unit -> unit) ->
Unix.file_descr ->
Unixqueue.event_system -> rpc_multiplex_controller
The multiplex controller for datagrams
class stream_rpc_multiplex_controller : sockaddr -> sockaddr -> string option -> Unix.file_descr option -> Uq_engines.multiplex_controller -> Unixqueue.event_system -> rpc_multiplex_controller
The class is exported for the SSL transporter
Debugging
module Debug: sig .. end