Docs GODI Archive
Projects Blog Link DB

Search GODI:


More options
File lib/ocaml/pkg-lib/hydro/hydro_params.mli GODI Package godi-hydro
Library hydro
 
   Hydro_params.html    hydro_params.cmi_pretty    hydro_params.mli    Sources  
(* $Id: hydro_params.mli 15657 2007-12-12 23:46:06Z gerd $ *)

(** Creating and modifying runtime parameters *)

open Hydro_types

val call_params :
      ?msg_timeout:float ->
      ?destination:Unix.sockaddr -> 
      ?context:(string * string) list ->
      unit -> 
        call_params
  (** Create a set of call parameters. Omitted values appear as [None] in the
      set:
      - [msg_timeout]: If set to [tmo], the number [tmo] is the maximum
        number of seconds until when a response must have been arrived.
        Otherwise the call times out with a
        [Client_condition `Message_timeout]. If [None], there is no
        such timeout condition. (Only used for twoway calls.)
      - [destination]: For unconnected UDP sockets, this parameter must
        be passed to set the destination of the call. For connected
        sockets this parameter must not be passed.
      - [context]: If set to [ctx], the key/value pairs in [ctx] are to
        be passed as context. If not set a reasonable default is passed.
  *)

val update_call_params :
      ?msg_timeout:float ->
      ?destination:Unix.sockaddr -> 
      ?context:(string * string) list ->
      call_params -> 
        call_params
  (** Modifies the given call params *)


val client_params :
       ?trans_timeout:float -> 
       ?msg_timeout:float -> 
       ?idle_timeout:float -> 
       ?exception_handler: exn_handler -> 
       ?max_proto_minor : int ->
       ?max_enc_minor : int ->
       unit -> 
         client_params
   (** Create a set of client parameters:
     - [trans_timeout]: If non-negative, a timeout on the transport
       level is set. This means that connections that block for more
       than this number of seconds time out. In this case, the whole
       client fails, and all pending calls see a
       [Client_condition `Transport_timeout] if it happens in the middle
       of a connection, or [Client_condition `Connect_timeout] if it
       happens in the connect phase. (Default: -1)
     - [msg_timeout]:  If non-negative, the number [tmo] is the maximum
       number of seconds until when a response must have been arrived.
       Otherwise the call times out with a
       [Client_condition `Message_timeout]. This error is non-fatal,
       and only the single call times out. (Only used for twoway calls.)
       (Default: -1)
     - [idle_timeout]: when the client has been idle for this number of
       seconds, it is automatically shut down. "Idle" means that there is
       neither something to send nor a message is expected to be received.
       (Default: -1)
     - The [exception_handler] is invoked for exceptions that cannot be handled
       by the client. The handler is never invoked for [Unbound_exception]s -
       these always fall through to the caller. In any case the client is shut
       down for exceptions that cannot be handled by the client.
       (Default: default_exception_handler)
     - [max_proto_minor] and [max_enc_minor] are the maximum minor versions
       of the server. These values are only used in the datagram case; for
       stream connections they can be obtained directly from the server.
       If not set, minor numbers of 0 are assumed.
    *)

val update_client_params :
       ?trans_timeout:float -> 
       ?msg_timeout:float -> 
       ?idle_timeout:float -> 
       ?exception_handler: exn_handler -> 
       ?max_proto_minor : int option ->
       ?max_enc_minor : int option ->
       client_params -> 
         client_params
    (** Modifies the given client params *)

val update_client_params_by_endpoint : 
       endpoint -> client_params -> client_params
   (** Updates the [trans_timeout], [max_proto_minor] and [max_enc_minor]
       parameters by the values found in the endpoint:
       - [trans_timeout]: is compared with the [timeout] of the endpoint,
         and the smaller value is taken
       - [max_proto_minor] and [max_enc_minor]: taken from the endpoint
    *)

val default_exception_handler : exn_handler
   (** The default handler just prints the exception to stderr *)


val client_params_cmp : client_params -> client_params -> int
   (** Compares two client params objects, and returns a result like
       [Pervasives.compare]. The functions compares the values of
       the methods.
    *)

val server_params :
       ?trans_timeout:float -> 
       unit -> 
         server_params
   (** Create a set of server parameters:
     - [trans_timeout]: If non-negative, a timeout on the transport
       level is set. This means that connections that block for more
       than this number of seconds time out. In this case, the
       connection is dropped
    *)
 
val update_server_params :
       ?trans_timeout:float -> 
       server_params -> 
         server_params
    (** Modifies the given server params *)
This web site is published by Informatikbüro Gerd Stolpmann
Powered by Caml