Docs GODI Archive
Projects Blog Link DB

Search GODI:


More options
File lib/ocaml/pkg-lib/equeue/uq_engines.cmi_pretty GODI Package godi-ocamlnet
Library equeue
 
   Uq_engines.html    uq_engines.cmi_pretty    uq_engines.mli    Sources  
exception Closed_channel
exception Broken_communication
exception Watchdog_timeout
exception Addressing_method_not_supported
exception Cancelled
type 'a engine_state =
    [ `Aborted | `Done of 'a | `Error of exn | `Working of int ]
class type ['a] engine =
  object
    method abort : unit -> unit
    method event_system : Unixqueue.event_system
    method request_notification : (unit -> bool) -> unit
    method state : 'a engine_state
  end
val when_state :
  ?is_done:('a -> unit) ->
  ?is_error:(exn -> unit) -> ?is_aborted:(unit -> unit) -> 'a #engine -> unit
class ['a, 'b] map_engine :
  map_done:('a -> 'b engine_state) ->
  ?map_error:(exn -> 'b engine_state) ->
  ?map_aborted:(unit -> 'b engine_state) -> 'a #engine -> ['b] engine
class ['a] epsilon_engine :
  'a engine_state -> Unixqueue.event_system -> ['a] engine
class ['a, 'b] seq_engine : 'a #engine -> ('a -> 'b #engine) -> ['b] engine
class ['a, 'b] sync_engine : 'a #engine -> 'b #engine -> ['a * 'b] engine
class poll_engine :
  ?extra_match:(exn -> bool) ->
  (Unixqueue.operation * float) list ->
  Unixqueue.event_system ->
  object
    method abort : unit -> unit
    method event_system : Unixqueue.event_system
    method group : Unixqueue.group
    method request_notification : (unit -> bool) -> unit
    method restart : unit -> unit
    method state : Unixqueue.event engine_state
  end
class poll_process_engine :
  ?period:float ->
  pid:int -> Unixqueue.event_system -> [Unix.process_status] engine
class watchdog : float -> 'a #engine -> [unit] engine
class ['a] engine_mixin :
  'a engine_state ->
  object
    method private notify : unit -> unit
    method request_notification : (unit -> bool) -> unit
    method private set_state : 'a engine_state -> unit
    method state : 'a engine_state
  end
class type async_out_channel =
  object
    method can_output : bool
    method close_out : unit -> unit
    method flush : unit -> unit
    method output : string -> int -> int -> int
    method pos_out : int
    method request_notification : (unit -> bool) -> unit
  end
class type async_in_channel =
  object
    method can_input : bool
    method close_in : unit -> unit
    method input : string -> int -> int -> int
    method pos_in : int
    method request_notification : (unit -> bool) -> unit
  end
class receiver :
  src:Unix.file_descr ->
  dst:#async_out_channel ->
  ?close_src:bool ->
  ?close_dst:bool -> Unixqueue.event_system -> [unit] engine
class sender :
  src:#async_in_channel ->
  dst:Unix.file_descr ->
  ?close_src:bool ->
  ?close_dst:bool -> Unixqueue.event_system -> [unit] engine
class type async_out_channel_engine =
  object
    method abort : unit -> unit
    method can_output : bool
    method close_out : unit -> unit
    method event_system : Unixqueue.event_system
    method flush : unit -> unit
    method output : string -> int -> int -> int
    method pos_out : int
    method request_notification : (unit -> bool) -> unit
    method state : unit engine_state
  end
class type async_in_channel_engine =
  object
    method abort : unit -> unit
    method can_input : bool
    method close_in : unit -> unit
    method event_system : Unixqueue.event_system
    method input : string -> int -> int -> int
    method pos_in : int
    method request_notification : (unit -> bool) -> unit
    method state : unit engine_state
  end
class output_async_descr :
  dst:Unix.file_descr ->
  ?buffer_size:int ->
  ?close_dst:bool -> Unixqueue.event_system -> async_out_channel_engine
class input_async_descr :
  src:Unix.file_descr ->
  ?buffer_size:int ->
  ?close_src:bool -> Unixqueue.event_system -> async_in_channel_engine
type copy_task =
    [ `Bidirectional of Unix.file_descr * Unix.file_descr
    | `Tridirectional of Unix.file_descr * Unix.file_descr * Unix.file_descr
    | `Uni_socket of Unix.file_descr * Unix.file_descr
    | `Unidirectional of Unix.file_descr * Unix.file_descr ]
class copier : copy_task -> Unixqueue.event_system -> [unit] engine
type sockspec =
    [ `Sock_inet of Unix.socket_type * Unix.inet_addr * int
    | `Sock_inet_byname of Unix.socket_type * string * int
    | `Sock_unix of Unix.socket_type * string ]
type connect_address =
    [ `Command of string * (int -> Unixqueue.event_system -> unit)
    | `Socket of sockspec * connect_options ]
and connect_options =
  Uq_engines.connect_options = {
  conn_bind : sockspec option;
}
val default_connect_options : connect_options
type connect_status =
    [ `Command of Unix.file_descr * int
    | `Socket of Unix.file_descr * sockspec ]
val client_socket : connect_status -> Unix.file_descr
type listen_address = [ `Socket of sockspec * listen_options ]
and listen_options =
  Uq_engines.listen_options = {
  lstn_backlog : int;
  lstn_reuseaddr : bool;
}
val default_listen_options : listen_options
class type client_socket_connector =
  object
    method connect :
      connect_address -> Unixqueue.event_system -> connect_status engine
  end
class type server_socket_acceptor =
  object
    method accept : unit -> (Unix.file_descr * sockspec) engine
    method multiple_connections : bool
    method server_address : sockspec
    method shut_down : unit -> unit
  end
class direct_socket_acceptor :
  Unix.file_descr -> Unixqueue.event_system -> server_socket_acceptor
class type server_socket_listener =
  object
    method listen :
      listen_address ->
      Unixqueue.event_system -> server_socket_acceptor engine
  end
val connector :
  ?proxy:#client_socket_connector ->
  connect_address -> Unixqueue.event_system -> connect_status engine
val listener :
  ?proxy:#server_socket_listener ->
  listen_address -> Unixqueue.event_system -> server_socket_acceptor engine
type datagram_type = [ `Inet6_udp | `Inet_udp | `Unix_dgram ]
class type wrapped_datagram_socket =
  object
    method datagram_type : datagram_type
    method descriptor : Unix.file_descr
    method recvfrom :
      string -> int -> int -> Unix.msg_flag list -> int * sockspec
    method sendto :
      string -> int -> int -> Unix.msg_flag list -> sockspec -> int
    method shut_down : unit -> unit
    method socket_domain : Unix.socket_domain
    method socket_protocol : int
    method socket_type : Unix.socket_type
  end
class type datagram_socket_provider =
  object
    method create_datagram_socket :
      datagram_type ->
      Unixqueue.event_system -> wrapped_datagram_socket engine
  end
val datagram_provider :
  ?proxy:#datagram_socket_provider ->
  datagram_type -> Unixqueue.event_system -> wrapped_datagram_socket engine
class type multiplex_controller =
  object
    method alive : bool
    method cancel_reading : unit -> unit
    method cancel_shutting_down : unit -> unit
    method cancel_writing : unit -> unit
    method event_system : Unixqueue.event_system
    method inactivate : unit -> unit
    method read_eof : bool
    method reading : bool
    method shutting_down : bool
    method start_reading :
      ?peek:(unit -> unit) ->
      when_done:(exn option -> int -> unit) -> string -> int -> int -> unit
    method start_shutting_down :
      ?linger:float -> when_done:(exn option -> unit) -> unit -> unit
    method start_writing :
      when_done:(exn option -> int -> unit) -> string -> int -> int -> unit
    method start_writing_eof : when_done:(exn option -> unit) -> unit -> unit
    method supports_half_open_connection : bool
    method writing : bool
    method wrote_eof : bool
  end
val create_multiplex_controller_for_connected_socket :
  ?close_inactive_descr:bool ->
  ?supports_half_open_connection:bool ->
  Unix.file_descr -> Unixqueue.unix_event_system -> multiplex_controller
class type datagram_multiplex_controller =
  object
    method alive : bool
    method cancel_reading : unit -> unit
    method cancel_shutting_down : unit -> unit
    method cancel_writing : unit -> unit
    method event_system : Unixqueue.event_system
    method inactivate : unit -> unit
    method read_eof : bool
    method reading : bool
    method received_from : Unix.sockaddr
    method send_to : Unix.sockaddr -> unit
    method shutting_down : bool
    method start_reading :
      ?peek:(unit -> unit) ->
      when_done:(exn option -> int -> unit) -> string -> int -> int -> unit
    method start_shutting_down :
      ?linger:float -> when_done:(exn option -> unit) -> unit -> unit
    method start_writing :
      when_done:(exn option -> int -> unit) -> string -> int -> int -> unit
    method start_writing_eof : when_done:(exn option -> unit) -> unit -> unit
    method supports_half_open_connection : bool
    method writing : bool
    method wrote_eof : bool
  end
val create_multiplex_controller_for_datagram_socket :
  ?close_inactive_descr:bool ->
  Unix.file_descr ->
  Unixqueue.unix_event_system -> datagram_multiplex_controller
type onshutdown_out_spec =
    [ `Action of
        async_out_channel_engine ->
        multiplex_controller -> unit engine_state -> unit
    | `Ignore
    | `Initiate_shutdown ]
type onshutdown_in_spec =
    [ `Action of
        async_in_channel_engine ->
        multiplex_controller -> unit engine_state -> unit
    | `Ignore
    | `Initiate_shutdown ]
class output_async_mplex :
  ?onclose:[ `Ignore | `Write_eof ] ->
  ?onshutdown:onshutdown_out_spec ->
  ?buffer_size:int -> multiplex_controller -> async_out_channel_engine
class input_async_mplex :
  ?onshutdown:onshutdown_in_spec ->
  ?buffer_size:int -> multiplex_controller -> async_in_channel_engine
This web site is published by Informatikbüro Gerd Stolpmann
Powered by Caml