Plasma GitLab Archive
Projects Blog Knowledge

sig
  class type async_out_channel =
    object
      method can_output : bool
      method close_out : unit -> unit
      method flush : unit -> unit
      method output : Bytes.t -> 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 : Bytes.t -> int -> int -> int
      method pos_in : int
      method request_notification : (unit -> bool) -> unit
    end
  class pseudo_async_out_channel :
    #Netchannels.raw_out_channel -> async_out_channel
  class pseudo_async_in_channel :
    #Netchannels.raw_in_channel -> async_in_channel
  class receiver :
    src:Unix.file_descr ->
    dst:#Uq_transfer.async_out_channel ->
    ?close_src:bool ->
    ?close_dst:bool -> Unixqueue.event_system -> [unit] Uq_engines.engine
  class sender :
    src:#Uq_transfer.async_in_channel ->
    dst:Unix.file_descr ->
    ?close_src:bool ->
    ?close_dst:bool -> Unixqueue.event_system -> [unit] Uq_engines.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 : Bytes.t -> int -> int -> int
      method pos_out : int
      method request_notification : (unit -> bool) -> unit
      method request_proxy_notification :
        (unit Uq_engines.engine -> bool) -> unit
      method state : unit Uq_engines.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 : Bytes.t -> int -> int -> int
      method pos_in : int
      method request_notification : (unit -> bool) -> unit
      method request_proxy_notification :
        (unit Uq_engines.engine -> bool) -> unit
      method state : unit Uq_engines.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 :
    Uq_transfer.copy_task ->
    Unixqueue.event_system -> [unit] Uq_engines.engine
  type onshutdown_out_spec =
      [ `Action of
          Uq_transfer.async_out_channel_engine ->
          Uq_engines.multiplex_controller ->
          unit Uq_engines.engine_state -> unit
      | `Ignore
      | `Initiate_shutdown ]
  type onshutdown_in_spec =
      [ `Action of
          Uq_transfer.async_in_channel_engine ->
          Uq_engines.multiplex_controller ->
          unit Uq_engines.engine_state -> unit
      | `Ignore
      | `Initiate_shutdown ]
  class output_async_mplex :
    ?onclose:[ `Ignore | `Write_eof ] ->
    ?onshutdown:Uq_transfer.onshutdown_out_spec ->
    ?buffer_size:int ->
    Uq_engines.multiplex_controller -> async_out_channel_engine
  class input_async_mplex :
    ?onshutdown:Uq_transfer.onshutdown_in_spec ->
    ?buffer_size:int ->
    Uq_engines.multiplex_controller -> async_in_channel_engine
end
This web site is published by Informatikbüro Gerd Stolpmann
Powered by Caml