`sig
type 't result = [ `Error of exn | `Ok of 't ]
type 't result_eof = [ `End_of_file | `Error of exn | `Ok of 't ]
type sockaddr = [ `Implied | `Sockaddr of Unix.sockaddr ]
val string_of_sockaddr : Rpc_transport.sockaddr -> string
exception Error of string
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
method abort_rw : unit -> unit
method alive : bool
method cancel_rd_polling : unit -> unit
method cancel_shutting_down : unit -> unit
method event_system : Unixqueue.event_system
method file_descr : Unix.file_descr option
method getpeername : Rpc_transport.sockaddr
method getsockname : Rpc_transport.sockaddr
method inactivate : unit -> unit
method peer_user_name : string option
method protocol : Rpc.protocol
method read_eof : bool
method reading : bool
method set_timeout : notify:(unit -> unit) -> float -> unit
method start_reading :
?peek:(unit -> unit) ->
?before_record:(int ->
Rpc_transport.sockaddr -> Rpc_transport.in_rule) ->
when_done:((Rpc_transport.in_record * Rpc_transport.sockaddr)
Rpc_transport.result_eof -> unit) ->
unit -> unit
method start_shutting_down :
when_done:(unit Rpc_transport.result -> unit) -> unit -> unit
method start_writing :
when_done:(unit Rpc_transport.result -> unit) ->
Rpc_packer.packed_value -> Rpc_transport.sockaddr -> unit
method tls_session_props : Nettls_support.tls_session_props option
method writing : bool
end
val stream_rpc_multiplex_controller :
?close_inactive_descr:bool ->
?preclose:(unit -> unit) ->
?tls:(module Netsys_crypto_types.TLS_CONFIG) * string option ->
role:[ `Client | `Server ] ->
Unix.file_descr ->
Unixqueue.event_system -> Rpc_transport.rpc_multiplex_controller
val datagram_rpc_multiplex_controller :
?close_inactive_descr:bool ->
?preclose:(unit -> unit) ->
role:[ `Client | `Server ] ->
Unix.file_descr ->
Unixqueue.event_system -> Rpc_transport.rpc_multiplex_controller
module Debug : sig val enable : bool Pervasives.ref end
end`