Plasma GitLab Archive
Projects Blog Knowledge

sig
  exception Message_lost
  exception Message_timeout
  exception Response_dropped
  exception Communication_error of exn
  exception Client_is_down
  exception Keep_call
  exception Unbound_exception of exn
  type t
  type connector =
      Inet of (string * int)
    | Internet of (Unix.inet_addr * int)
    | Unix of string
    | W32_pipe of string
    | Descriptor of Unix.file_descr
    | Dynamic_descriptor of (unit -> Unix.file_descr)
    | Portmapped of string
  val connector_of_sockaddr : Unix.sockaddr -> Rpc_client.connector
  val shutdown_connector :
    Rpc_client.t ->
    Rpc_transport.rpc_multiplex_controller -> (unit -> unit) -> unit
  class type socket_config =
    object
      method multiplexing :
        close_inactive_descr:bool ->
        Rpc.protocol ->
        Unix.file_descr ->
        Unixqueue.event_system ->
        Rpc_transport.rpc_multiplex_controller Uq_engines.engine
      method non_blocking_connect : bool
    end
  val default_socket_config : Rpc_client.socket_config
  class default_socket_config : socket_config
  val blocking_socket_config : Rpc_client.socket_config
  class blocking_socket_config : socket_config
  type mode2 =
      [ `Multiplexer_endpoint of Rpc_transport.rpc_multiplex_controller
      | `Socket of
          Rpc.protocol * Rpc_client.connector * Rpc_client.socket_config
      | `Socket_endpoint of Rpc.protocol * Unix.file_descr ]
  val create2 :
    ?program_number:Rtypes.uint4 ->
    ?version_number:Rtypes.uint4 ->
    ?initial_xid:int ->
    ?shutdown:(Rpc_client.t ->
               Rpc_transport.rpc_multiplex_controller ->
               (unit -> unit) -> unit) ->
    Rpc_client.mode2 ->
    Rpc_program.t -> Unixqueue.event_system -> Rpc_client.t
  val unbound_create :
    ?initial_xid:int ->
    ?shutdown:(Rpc_client.t ->
               Rpc_transport.rpc_multiplex_controller ->
               (unit -> unit) -> unit) ->
    Rpc_client.mode2 -> Unixqueue.event_system -> Rpc_client.t
  val bind : Rpc_client.t -> Rpc_program.t -> unit
  val use : Rpc_client.t -> Rpc_program.t -> unit
  val configure : Rpc_client.t -> int -> float -> unit
  val configure_next_call : Rpc_client.t -> int -> float -> unit
  val set_dgram_destination : Rpc_client.t -> Unix.sockaddr option -> unit
  val set_batch_call : Rpc_client.t -> unit
  val set_user_name : Rpc_client.t -> string option -> unit
  val set_max_response_length : Rpc_client.t -> int -> unit
  val set_exception_handler : Rpc_client.t -> (exn -> unit) -> unit
  val set_mstring_factories :
    Rpc_client.t -> Xdr_mstring.named_mstring_factories -> unit
  val event_system : Rpc_client.t -> Unixqueue.event_system
  val programs : Rpc_client.t -> Rpc_program.t list
  val get_socket_name : Rpc_client.t -> Unix.sockaddr
  val get_peer_name : Rpc_client.t -> Unix.sockaddr
  val get_sender_of_last_response : Rpc_client.t -> Unix.sockaddr
  val get_protocol : Rpc_client.t -> Rpc.protocol
  val is_up : Rpc_client.t -> bool
  val unbound_sync_call :
    Rpc_client.t -> Rpc_program.t -> string -> Xdr.xdr_value -> Xdr.xdr_value
  val unbound_async_call :
    Rpc_client.t ->
    Rpc_program.t ->
    string -> Xdr.xdr_value -> ((unit -> Xdr.xdr_value) -> unit) -> unit
  class unbound_async_call :
    Rpc_client.t ->
    Rpc_program.t ->
    string -> Xdr.xdr_value -> [Xdr.xdr_value] Uq_engines.engine
  val synchronize :
    Unixqueue.event_system ->
    ('-> ((unit -> 'b) -> unit) -> unit) -> '-> 'b
  val shut_down : Rpc_client.t -> unit
  val sync_shutdown : Rpc_client.t -> unit
  val trigger_shutdown : Rpc_client.t -> (unit -> unit) -> unit
  type reject_code = [ `Fail | `Next | `Renew | `Retry ]
  class type auth_session =
    object
      method auth_protocol : Rpc_client.auth_protocol
      method next_credentials :
        Rpc_client.t ->
        Rpc_program.t ->
        string ->
        Rtypes.uint4 ->
        string * string * string * string * Xdr.encoder option *
        Xdr.decoder option
      method server_accepts :
        Rpc_client.t -> Rtypes.uint4 -> string -> string -> unit
      method server_rejects :
        Rpc_client.t ->
        Rtypes.uint4 -> Rpc.server_error -> Rpc_client.reject_code
    end
  and auth_protocol =
    object
      method auth_method : Rpc_client.auth_method
      method emit :
        Rtypes.uint4 ->
        Rtypes.uint4 -> Rtypes.uint4 -> Rpc_packer.packed_value
      method receive : Rpc_packer.packed_value -> unit
      method state :
        [ `Done of Rpc_client.auth_session
        | `Emit
        | `Error
        | `Receive of Rtypes.uint4 ]
    end
  and auth_method =
    object
      method name : string
      method new_session :
        Rpc_client.t -> string option -> Rpc_client.auth_protocol
    end
  val auth_none : Rpc_client.auth_method
  val set_auth_methods : Rpc_client.t -> Rpc_client.auth_method list -> unit
  module type USE_CLIENT =
    sig
      type t
      val use : Rpc_client.USE_CLIENT.t -> Rpc_program.t -> unit
      val unbound_sync_call :
        Rpc_client.USE_CLIENT.t ->
        Rpc_program.t -> string -> Xdr.xdr_value -> Xdr.xdr_value
      val unbound_async_call :
        Rpc_client.USE_CLIENT.t ->
        Rpc_program.t ->
        string -> Xdr.xdr_value -> ((unit -> Xdr.xdr_value) -> unit) -> unit
    end
  val create :
    ?program_number:Rtypes.uint4 ->
    ?version_number:Rtypes.uint4 ->
    ?initial_xid:int ->
    ?shutdown:(Rpc_client.t ->
               Rpc_transport.rpc_multiplex_controller ->
               (unit -> unit) -> unit) ->
    Unixqueue.event_system ->
    Rpc_client.connector -> Rpc.protocol -> Rpc_program.t -> Rpc_client.t
  val program : Rpc_client.t -> Rpc_program.t
  val add_call :
    Rpc_client.t ->
    string -> Xdr.xdr_value -> ((unit -> Xdr.xdr_value) -> unit) -> unit
  val sync_call : Rpc_client.t -> string -> Xdr.xdr_value -> Xdr.xdr_value
  val verbose : bool -> unit
  module Debug :
    sig
      val enable : bool Pervasives.ref
      val enable_ptrace : bool Pervasives.ref
      val ptrace_verbosity : Rpc_util.verbosity Pervasives.ref
      val disable_for_client : Rpc_client.t -> unit
    end
end
This web site is published by Informatikbüro Gerd Stolpmann
Powered by Caml