Module Seqdb_fsys_ao


module Seqdb_fsys_ao: sig .. end
Append-only (ao) filesys variant


These filesys are restricted in so far:



The ao filesystems are special ht filesystems. Because of this, it is possible to implement the ao functions by "plugging in" to Seqdb_fsys_ht. Do this by calling the init function below.

So Seqdb_fsys_ht.ht_base is also used to keep handles for the ao variants. By calling Seqdb_fsys_ht.get_filesys you simply get the ao variant. All the other functions also work, except:



type ao_params = {
   ao_time_mark_period : int; (*TIMEMP in seconds*)
}
Additional parameters for the ao variant of file systems
exception Append_only_restriction of string
Raised if one of the mentioned restrictions would have been violated. The string argument is the path to the filesystem
val init : unit -> unit
Initialize Seqdb_fsys_ht in a special way so the ao variant is known there
val create_ao_filesys : Seqdb_fsys_ht.ht_base ->
string ->
Seqdb_fsys_ht.params ->
ao_params ->
Seqdb_fsys_ht.ht_file_descr Seqdb_fsys_types.file_system
Create an ao file system
val filesys_ao_params : Seqdb_fsys_ht.ht_base -> string -> ao_params
Get the special ao parameters
val configure_ao_filesys : ?read_only_mode:bool -> Seqdb_fsys_ht.ht_base -> string -> unit
- read_only_mode: If true, the fsys can only be read - writes will fail. The advantage is that the fsys lock can be quicker released.
val get_ao_iterator : ?at_mtime:int64 ->
Seqdb_fsys_ht.ht_base ->
string -> Seqdb_fsys_ht.ht_file_descr Seqdb_fsys_types.file_system_iterator
Starts iterating at the first file whose mtime is greater or equal to at_mtime (or the beginning of the filesys if at_mtime is omitted).