Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::FileHashDatabase

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 Arccore::TraceAccessor
 TraceAccessor (ITraceMng *m)
 Construit un accesseur via le gestionnaire de trace m.
 
 TraceAccessor (const TraceAccessor &rhs)
 Constructeur par recopie.
 
TraceAccessoroperator= (const TraceAccessor &rhs)
 Opérateur de recopie.
 
virtual ~TraceAccessor ()
 Libère les ressources.
 
ITraceMngtraceMng () 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 Arccore::TraceAccessor
void _setLocalVerboseLevel (Int32 v)
 
Int32 _localVerboseLevel () const
 

Description détaillée

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.

Documentation des constructeurs et destructeur

◆ FileHashDatabase()

Arcane::FileHashDatabase::FileHashDatabase ( ITraceMng tm,
const String directory 
)
inline

Définition à la ligne 66 du fichier FileHashDatabase.cc.

◆ ~FileHashDatabase()

Arcane::FileHashDatabase::~FileHashDatabase ( )
inline

Définition à la ligne 71 du fichier FileHashDatabase.cc.

Documentation des fonctions membres

◆ _getDirFileInfo()

DirFileInfo Arcane::FileHashDatabase::_getDirFileInfo ( const String hash_value)
inlineprivate

Définition à la ligne 132 du fichier FileHashDatabase.cc.

◆ readValues()

void Arcane::FileHashDatabase::readValues ( const HashDatabaseReadArgs args)
inlineoverridevirtual

Implémente Arcane::IHashDatabase.

Définition à la ligne 114 du fichier FileHashDatabase.cc.

◆ writeValues()

void Arcane::FileHashDatabase::writeValues ( const HashDatabaseWriteArgs args,
HashDatabaseWriteResult xresult 
)
inlineoverridevirtual

Implémente Arcane::IHashDatabase.

Définition à la ligne 79 du fichier FileHashDatabase.cc.

Documentation des données membres

◆ m_directory

String Arcane::FileHashDatabase::m_directory
private

Définition à la ligne 150 du fichier FileHashDatabase.cc.

◆ m_nb_read

Int64 Arcane::FileHashDatabase::m_nb_read = 0
private

Définition à la ligne 153 du fichier FileHashDatabase.cc.

◆ m_nb_write

Int64 Arcane::FileHashDatabase::m_nb_write = 0
private

Définition à la ligne 152 du fichier FileHashDatabase.cc.

◆ m_nb_write_cache

Int64 Arcane::FileHashDatabase::m_nb_write_cache = 0
private

Définition à la ligne 151 du fichier FileHashDatabase.cc.


La documentation de cette classe a été générée à partir du fichier suivant :