Plasma GitLab Archive
Projects Blog Knowledge

sig
  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 mem_supported : bool
      method read_eof : bool
      method reading : bool
      method shutting_down : bool
      method start_mem_reading :
        ?peek:(unit -> unit) ->
        when_done:(exn option -> int -> unit) ->
        Netsys_mem.memory -> int -> int -> unit
      method start_mem_writing :
        when_done:(exn option -> int -> unit) ->
        Netsys_mem.memory -> int -> int -> unit
      method start_reading :
        ?peek:(unit -> unit) ->
        when_done:(exn option -> int -> unit) ->
        Bytes.t -> 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) ->
        Bytes.t -> int -> int -> unit
      method start_writing_eof :
        when_done:(exn option -> unit) -> unit -> unit
      method supports_half_open_connection : bool
      method tls_session : (string * string) option
      method tls_session_props : Nettls_support.tls_session_props option
      method tls_stashed_endpoint : unit -> exn
      method writing : bool
      method wrote_eof : bool
    end
  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 mem_supported : bool
      method read_eof : bool
      method reading : bool
      method received_from : Unix.sockaddr
      method send_to : Unix.sockaddr -> unit
      method shutting_down : bool
      method start_mem_reading :
        ?peek:(unit -> unit) ->
        when_done:(exn option -> int -> unit) ->
        Netsys_mem.memory -> int -> int -> unit
      method start_mem_writing :
        when_done:(exn option -> int -> unit) ->
        Netsys_mem.memory -> int -> int -> unit
      method start_reading :
        ?peek:(unit -> unit) ->
        when_done:(exn option -> int -> unit) ->
        Bytes.t -> 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) ->
        Bytes.t -> int -> int -> unit
      method start_writing_eof :
        when_done:(exn option -> unit) -> unit -> unit
      method supports_half_open_connection : bool
      method tls_session : (string * string) option
      method tls_session_props : Nettls_support.tls_session_props option
      method tls_stashed_endpoint : unit -> exn
      method writing : bool
      method wrote_eof : bool
    end
  exception Mem_not_supported
  val create_multiplex_controller_for_connected_socket :
    ?close_inactive_descr:bool ->
    ?preclose:(unit -> unit) ->
    ?supports_half_open_connection:bool ->
    ?timeout:float * exn ->
    Unix.file_descr ->
    Unixqueue.unix_event_system -> Uq_multiplex.multiplex_controller
  val create_multiplex_controller_for_datagram_socket :
    ?close_inactive_descr:bool ->
    ?preclose:(unit -> unit) ->
    ?timeout:float * exn ->
    Unix.file_descr ->
    Unixqueue.unix_event_system -> Uq_multiplex.datagram_multiplex_controller
  val tls_multiplex_controller :
    ?resume:string ->
    ?on_handshake:(Uq_multiplex.multiplex_controller -> unit) ->
    role:[ `Client | `Server ] ->
    peer_name:string option ->
    (module Netsys_crypto_types.TLS_CONFIG->
    Uq_multiplex.multiplex_controller -> Uq_multiplex.multiplex_controller
  val restore_tls_multiplex_controller :
    ?on_handshake:(Uq_multiplex.multiplex_controller -> unit) ->
    exn ->
    (module Netsys_crypto_types.TLS_CONFIG->
    Uq_multiplex.multiplex_controller -> Uq_multiplex.multiplex_controller
end
This web site is published by Informatikbüro Gerd Stolpmann
Powered by Caml