Base de donnée de hashs sous la forme d'un système de fichier. Plus de détails...
Graphe d'héritage de Arcane::FileHashDatabase:
Graphe de collaboration de Arcane::FileHashDatabase:Classes | |
| struct | DirFileInfo |
| Nom du répertoire et du fichier contenant le hash. Plus de détails... | |
Fonctions membres publiques | |
| FileHashDatabase (ITraceMng *tm, const String &directory) | |
| void | writeValues (const HashDatabaseWriteArgs &args, HashDatabaseWriteResult &xresult) override |
| void | readValues (const HashDatabaseReadArgs &args) override |
Fonctions membres publiques hérités de Arcane::TraceAccessor | |
| TraceAccessor (ITraceMng *m) | |
| Construit un accesseur via le gestionnaire de trace m. | |
| TraceAccessor (const TraceAccessor &rhs) | |
| Constructeur par recopie. | |
| TraceAccessor & | operator= (const TraceAccessor &rhs) |
| Opérateur de recopie. | |
| virtual | ~TraceAccessor () |
| Libère les ressources. | |
| ITraceMng * | traceMng () const |
| Gestionnaire de trace. | |
| TraceMessage | info () const |
| Flot pour un message d'information. | |
| TraceMessage | pinfo () const |
| Flot pour un message d'information en parallèle. | |
| TraceMessage | info (char category) const |
| Flot pour un message d'information d'une catégorie donnée. | |
| TraceMessage | pinfo (char category) const |
| Flot pour un message d'information parallèle d'une catégorie donnée. | |
| TraceMessage | info (bool v) const |
| Flot pour un message d'information. | |
| TraceMessage | warning () const |
| Flot pour un message d'avertissement. | |
| TraceMessage | pwarning () const |
| TraceMessage | error () const |
| Flot pour un message d'erreur. | |
| TraceMessage | perror () const |
| TraceMessage | log () const |
| Flot pour un message de log. | |
| TraceMessage | plog () const |
| Flot pour un message de log. | |
| TraceMessage | logdate () const |
| Flot pour un message de log précédé de la date. | |
| TraceMessage | fatal () const |
| Flot pour un message d'erreur fatale. | |
| TraceMessage | pfatal () const |
| Flot pour un message d'erreur fatale en parallèle. | |
| TraceMessageDbg | debug (Trace::eDebugLevel=Trace::Medium) const |
| Flot pour un message de debug. | |
| Trace::eDebugLevel | configDbgLevel () const |
| Niveau debug du fichier de configuration. | |
| TraceMessage | info (Int32 verbose_level) const |
| Flot pour un message d'information d'un niveau donné | |
| TraceMessage | linfo () const |
| Flot pour un message d'information avec le niveau d'information local à cette instance. | |
| TraceMessage | linfo (Int32 relative_level) const |
| Flot pour un message d'information avec le niveau d'information local à cette instance. | |
| void | fatalMessage (const StandaloneTraceMessage &o) const |
Fonctions membres privées | |
| DirFileInfo | _getDirFileInfo (const String &hash_value) |
Attributs privés | |
| String | m_directory |
| Int64 | m_nb_write_cache = 0 |
| Int64 | m_nb_write = 0 |
| Int64 | m_nb_read = 0 |
Membres hérités additionnels | |
Fonctions membres protégées hérités de Arcane::TraceAccessor | |
| void | _setLocalVerboseLevel (Int32 v) |
| Int32 | _localVerboseLevel () const |
Base de donnée de hashs sous la forme d'un système de fichier.
L'implémentation est similaire à ce que peut faire 'git'.
Pour chaque hash on écrit un fichier dont le nom sera le hash et dont la valeur sera le tableau d'octets correspondant à ce hash. Un fichier n'est donc écrit qu'une seule fois et sa valeur ne change jamais: en écriture si le fichier existe déjà il n'est donc pas nécessaire de l'écrire à nouveau.
Afin d'éviter d'avoir trop de hash dans le même répertoire, on créé deux sous-répertoires. Le premier avec la première lettre du hash et le second avec les deux lettres suivantes. Donc par exemple si le hash est '0a239fb4', alors il sera dans le répertoire '0/a2/0a239fb4'.
Définition à la ligne 50 du fichier FileHashDatabase.cc.
Définition à la ligne 66 du fichier FileHashDatabase.cc.
|
inline |
Définition à la ligne 71 du fichier FileHashDatabase.cc.
|
inlineprivate |
Définition à la ligne 134 du fichier FileHashDatabase.cc.
|
inlineoverridevirtual |
Implémente Arcane::IHashDatabase.
Définition à la ligne 114 du fichier FileHashDatabase.cc.
|
inlineoverridevirtual |
Implémente Arcane::IHashDatabase.
Définition à la ligne 79 du fichier FileHashDatabase.cc.
|
private |
Définition à la ligne 152 du fichier FileHashDatabase.cc.
|
private |
Définition à la ligne 155 du fichier FileHashDatabase.cc.
|
private |
Définition à la ligne 154 du fichier FileHashDatabase.cc.
|
private |
Définition à la ligne 153 du fichier FileHashDatabase.cc.