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