# Module Rpc_transport

    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