Plasma GitLab Archive
Projects Blog Knowledge

sig
  type errno = Plasma_util.errno
  exception Transaction_error of Nn_state.errno
  class type shared_state_t =
    object
      method blockmap_get_e :
        identity:string -> Nn_blockmap.blockmap_t Uq_engines.engine
      method blockmap_prioritizer : unit Uq_engines.prioritizer
      method blockmaps : Nn_blockmap.blockmap_t list
      method create_blockmap : Nn_blockmap.blockmap_t -> unit
      method cur_rev_ident : string
      method datastore_max_id : int option
      method datastore_use_id : int -> unit
      method enough_slaves : bool
      method event_system : Unixqueue.event_system
      method exists_blockmap : string -> bool
      method finish_transaction_serialized :
        (Unixqueue.event_system -> bool Uq_engines.engine) ->
        bool Uq_engines.engine
      method forget_identity : string -> unit
      method get_blockmap : string -> Nn_blockmap.blockmap_t
      method inode_get_new_id_serialized :
        (Unixqueue.event_system -> int64 Uq_engines.engine) ->
        int64 Uq_engines.engine
      method inode_max_id : int64 option
      method inode_use_id : int64 -> unit
      method lock_filename :
        string ->
        [ `Exists | `Link | `Unlink ] -> <  > -> (unit -> unit) option
      method lock_inode : int64 -> <  > -> (unit -> unit) option
      method master : string
      method master_enabled : bool Pervasives.ref
      method new_rev_ident : unit -> string
      method node_config : Nn_config.nn_node_config
      method set_rev_ident : string -> unit
      method slaves :
        (string * Rpc_proxy.ManagedClient.mclient * bool Pervasives.ref) list
      method unlock_filenames : <  > -> unit
      method unlock_inodes : <  > -> unit
    end
  type rpolicy = [ `Balanced of int ]
  type journal = Nn_db.modification Queue.t
  class type view_t =
    object
      method post_commit : bool -> unit
      method pre_commit : Nn_state.journal
      method rollback : unit -> unit
    end
  class type ds_view_t =
    object
      method datastore_del_e : id:int -> unit Uq_engines.engine
      method datastore_list_e :
        unit -> Nn_datastores.datastore list Uq_engines.engine
      method datastore_new_id_e : unit -> int Uq_engines.engine
      method datastore_upd_e :
        id:int ->
        identity:string ->
        size:int64 -> enabled:bool -> unit Uq_engines.engine
      method post_commit : bool -> unit
      method pre_commit : journal
      method rollback : unit -> unit
    end
  type transacted_datastores = {
    td_idlist : int list;
    td_safetrans_id : int64;
    td_safetrans_secret : int64;
    td_safetrans_tmo : int64;
  }
  class type bm_view_t =
    object
      method blockmap_alloc_e :
        rpolicy:Nn_state.rpolicy ->
        index:int64 ->
        number:int ->
        pref:string list ->
        Nn_state.transacted_datastores ->
        Pfs_rpcapi_aux.blocklist Uq_engines.engine
      method blockmap_dealloc_e :
        (string * int64) list -> unit Uq_engines.engine
      method blockmap_get_e :
        identity:string -> Nn_blockmap.blockmap_t Uq_engines.engine
      method blockmap_keep : (string * int64) list -> unit
      method blockmap_load_e : unit -> unit Uq_engines.engine
      method post_commit : bool -> unit
      method pre_commit : journal
      method rollback : unit -> unit
    end
  class type inode_view_t =
    object
      method delayed_inode_deletes : int64 list
      method filename_count_e : inode:int64 -> int Uq_engines.engine
      method filename_get_e : name:string -> int64 option Uq_engines.engine
      method filename_link_e :
        name:string ->
        parent:string -> inode:int64 -> int64 Uq_engines.engine
      method filename_list_e :
        name:string -> (string * int64) list Uq_engines.engine
      method filename_rev_get_e :
        inode:int64 -> string list Uq_engines.engine
      method filename_unlink_e : name:string -> int64 Uq_engines.engine
      method inode_alloc_e :
        Pfs_rpcapi_aux.inodeinfo -> int64 Uq_engines.engine
      method inode_dealloc_e : id:int64 -> unit Uq_engines.engine
      method inode_get_blocks_e :
        id:int64 ->
        blkidx:int64 ->
        len:int64 ->
        Nn_state.bm_view_t -> Pfs_rpcapi_aux.blockinfo list Uq_engines.engine
      method inode_get_e :
        id:int64 -> Pfs_rpcapi_aux.inodeinfo option Uq_engines.engine
      method inode_upd_blocks_e :
        id:int64 ->
        del:int64 * int64 ->
        add:Pfs_rpcapi_aux.blockinfo list ->
        set_mtime:bool -> set_blocklimit:int64 -> unit Uq_engines.engine
      method inode_upd_e :
        id:int64 ->
        keep_blocklimit:bool ->
        Pfs_rpcapi_aux.inodeinfo -> unit Uq_engines.engine
      method inode_upd_time :
        id:int64 ->
        mtime:Pfs_rpcapi_aux.time option ->
        ctime:Pfs_rpcapi_aux.time option -> unit
      method post_commit : bool -> unit
      method pre_commit : journal
      method rollback : unit -> unit
    end
  class shared_state :
    Unixqueue.event_system ->
    Nn_config.nn_node_config -> int -> string -> shared_state_t
  class ds_view : Nn_state.shared_state_t -> ds_view_t
  class bm_view : Nn_state.shared_state_t -> bm_view_t
  class inode_view : Nn_state.shared_state_t -> inode_view_t
  val encap_time : float -> Pfs_rpcapi_aux.time
end
This web site is published by Informatikbüro Gerd Stolpmann
Powered by Caml