Plasma GitLab Archive
Projects Blog Knowledge

sig
  type errno = Plasma_util.errno
  type strmem = [ `Memory of Netsys_mem.memory | `String of string ]
  type buf_state =
      [ `Clean
      | `Dirty
      | `Dropped
      | `Invalid
      | `Reading of int64 option Uq_engines.engine
      | `Writing of int64 option Uq_engines.engine
      | `Written ]
  type buffer = {
    buf_inode : int64;
    buf_index : int64;
    buf : Netsys_mem.memory;
    buf_ord : int;
    mutable buf_seqno : int64;
    mutable buf_state : Plasma_filebuf.buf_state;
    mutable buf_dirty : bool;
    mutable buf_delayed_drop : bool;
    mutable buf_flushing : bool;
  }
  type flush_request = {
    flush_inode : int64;
    mutable flush_min_eof : int64;
    mutable flush_min_mtime : Plasma_rpcapi_aux.time;
    mutable flush_index_list : Plasma_util.I64Set.t;
  }
  type buffer_system
  val create_buffer_system :
    int -> int -> Unixqueue.event_system -> Plasma_filebuf.buffer_system
  val mem_size : Plasma_filebuf.buffer_system -> int
  val blit_from_buffer :
    Plasma_filebuf.buffer_system ->
    Plasma_filebuf.buffer ->
    int -> Plasma_filebuf.strmem -> int -> int -> unit
  val blit_to_buffer :
    Plasma_filebuf.buffer_system ->
    Plasma_filebuf.strmem ->
    int -> Plasma_filebuf.buffer -> int -> int -> unit
  val clean_access :
    Plasma_filebuf.buffer_system -> Plasma_filebuf.buffer -> unit
  val dirty_access :
    Plasma_filebuf.buffer_system -> Plasma_filebuf.buffer -> int64 -> unit
  val switch_to_reading :
    Plasma_filebuf.buffer_system ->
    Plasma_filebuf.buffer ->
    int64 option Uq_engines.engine -> int64 option -> unit
  val switch_to_writing :
    Plasma_filebuf.buffer_system ->
    Plasma_filebuf.buffer -> int64 option Uq_engines.engine -> unit
  val schedule_drop :
    Plasma_filebuf.buffer_system -> Plasma_filebuf.buffer -> unit
  val schedule_drop_inode : Plasma_filebuf.buffer_system -> int64 -> unit
  val lookup_buffer :
    Plasma_filebuf.buffer_system -> int64 -> int64 -> Plasma_filebuf.buffer
  val request_buffer_e :
    Plasma_filebuf.buffer_system ->
    int64 -> int64 -> Plasma_filebuf.buffer option Uq_engines.engine
  val select_for_flush :
    Plasma_filebuf.buffer_system -> int64 -> Plasma_filebuf.flush_request
  val select_inodes : Plasma_filebuf.buffer_system -> int64 list
  val get_flush_min_eof : Plasma_filebuf.buffer_system -> int64 -> int64
  val get_flush_min_mtime :
    Plasma_filebuf.buffer_system -> int64 -> Plasma_rpcapi_aux.time
  val write_committed :
    Plasma_filebuf.buffer_system -> Plasma_filebuf.buffer -> unit
  val write_cancelled :
    Plasma_filebuf.buffer_system -> Plasma_filebuf.buffer -> unit
  val write_erroneous :
    Plasma_filebuf.buffer_system -> int64 -> Plasma_filebuf.errno -> unit
  val release_flush_request :
    Plasma_filebuf.buffer_system -> Plasma_filebuf.flush_request -> unit
  val inode_error :
    Plasma_filebuf.buffer_system -> int64 -> Plasma_filebuf.errno option
  val reset_inode_error : Plasma_filebuf.buffer_system -> int64 -> unit
  val n_waiting : Plasma_filebuf.buffer_system -> int
  val dump_buffers : Plasma_filebuf.buffer_system -> unit
  val max_time :
    Plasma_rpcapi_aux.time ->
    Plasma_rpcapi_aux.time -> Plasma_rpcapi_aux.time
end
This web site is published by Informatikbüro Gerd Stolpmann
Powered by Caml