DARTFile

DART File system Distribute Achive of Random Transction This class handels the CRUD Database

The archive is hashed and store in structure similar to merkle trees datastruct. Which here is called at sparsed merkle tree the sparse merkle is section in to rims in hierarchy which is where each rim contains a sub-tree called Branches. If a rim Doens't branche out it contais a Leave which contains a Archive

@safe
class DARTFile {}

Constructors

this
this(HashNet net, string filename, Flag!"read_only" read_only)

A file set by filename should be create by the BlockFile before it can be used as a DARTFile

Members

Aliases

TraverseCallback
alias TraverseCallback = bool delegate(const(Document) doc, const Index branch_index, const uint rim, Buffer rim_path)
Undocumented in source.
bullseye
alias bullseye = fingerprint

Ditto for fingerprint

Classes

RimWalkerFiber
class RimWalkerFiber
Undocumented in source.

Functions

branches
Branches branches(const(ubyte[]) rim_path, Index* branch_index)

Loads the branches from the DART at rim_path

cacheLoad
Document cacheLoad(Index index)
Undocumented in source. Be warned that the author may not have intended to support it.
checkload
DARTIndex[] checkload(Range dart_indices)
Undocumented in source. Be warned that the author may not have intended to support it.
close
void close()

Close the DARTFile

dump
void dump(SectorRange sectors, Flag!"full" full, uint depth)

Dumps the dart as rim-path

fingerprint
Fingerprint fingerprint()
Undocumented in source. Be warned that the author may not have intended to support it.
indent
string indent(uint rim_level)

Create indet string a rim_level

load
Document load(const(Branches) b, uint key)

Reads the data at branch key

loadAll
HiBON loadAll(Archive.Type type)
Undocumented in source. Be warned that the author may not have intended to support it.
loads
RecordFactory.Recorder loads(Range dart_indices, Archive.Type type)

Loads all the archives in the list of fingerprints

modify
Fingerprint modify(const(RecordFactory.Recorder) modifyrecords, Flag!"undo" undo)

Wrapper function for the modify function.

modify
Fingerprint modify(const(RecordFactory.Recorder) modifyrecords)
Sample of the DART Map
key[0]key[1]key[2]key[3]key[4]
rim0001020304....
20A333B117-> arcive fingerprint=20_A3_33_B1_17....
********42-> arcive fingerprint=20_A3_33_B1_42....
****57B117-> arcive fingerprint=20_A3_57_B1_17....
********42-> arcive fingerprint=20_A3_57_B1_42....
****C2-> arcive fingerprint=20_A3_C3....
****CA48-> arcive fingerprint=20_A3_CA_48....
******68-> arcive fingerprint=20_A3_CA_48....

Sector=[key[0],key[1]] <br> ### Note ** means the same value as above The first two rims is set the sector and the following is rims represents the key index into the Branches incices The modifyrecords contains the archives which is going to be added or deleted The type of archive tells which actions are going to be performed by the modifier If the function executes succesfully then the DART is updated or else it does not affect the DART The function returns the bullseye of the dart

recorder
RecordFactory.Recorder recorder()

Creates a recorder factor

recorder
RecordFactory.Recorder recorder(const(Document) doc)

Creates a recorder from a document using the RecorderFactory used by the DART

recorder
RecordFactory.Recorder recorder(RecordFactory.Recorder.Archives archives)

Ditto

rimWalkerRange
RimWalkerFiber rimWalkerRange(immutable(Buffer) rim_paths)

A range which traverse the branches below the rim_paths The range build as a Fiber.

search
HiBON search(Buffer[] owners, const(SecureNet) net)
Undocumented in source. Be warned that the author may not have intended to support it.
traverse
void traverse(TraverseCallback dg, SectorRange sectors, uint depth, bool branches)
Undocumented in source. Be warned that the author may not have intended to support it.

Manifest constants

MIN_BLOCK_SIZE
enum MIN_BLOCK_SIZE;
Undocumented in source.
RIMS_IN_SECTOR
enum RIMS_IN_SECTOR;
Undocumented in source.
_params
enum _params;
Undocumented in source.
default_flat
enum default_flat;
Undocumented in source.
default_flat
enum default_flat;
Undocumented in source.
flat_marker
enum flat_marker;
Undocumented in source.
indent_tab
enum indent_tab;
Undocumented in source.

Static functions

check
bool check(const(RecordFactory.Recorder) A, const(RecordFactory.Recorder) B)
Undocumented in source. Be warned that the author may not have intended to support it.
create
create(string filename, HashNet net, uint block_size, uint max_size, Flag!"flat" flat)
Undocumented in source.
dart_indices
DARTIndex[] dart_indices(RecordFactory.Recorder recorder)
Undocumented in source. Be warned that the author may not have intended to support it.
records
RecordFactory.Recorder records(RecordFactory factory, const(ulong[]) table)
Undocumented in source. Be warned that the author may not have intended to support it.
recordsRemove
RecordFactory.Recorder recordsRemove(RecordFactory factory, const(ulong[]) table)
Undocumented in source. Be warned that the author may not have intended to support it.
validate
bool validate(DARTFile dart, const(ulong[]) table, RecordFactory.Recorder recorder)
Undocumented in source. Be warned that the author may not have intended to support it.
write
Fingerprint write(DARTFile dart, const(ulong[]) table, RecordFactory.Recorder rec)
Undocumented in source. Be warned that the author may not have intended to support it.

Structs

Branches
struct Branches

Data struct which contains the branches in sub-tree

Leave
struct Leave
Undocumented in source.

Variables

_fingerprint
Fingerprint _fingerprint;
Undocumented in source.
blockfile
BlockFile blockfile;
Undocumented in source.
filename
immutable(string) filename;
Undocumented in source.
flat
Flag!"flat" flat;
Undocumented in source.
manufactor
RecordFactory manufactor;
Undocumented in source.

Meta