FlexLM manager. Plus de détails...
#include <arcane/impl/FlexLMTools.h>
Graphe de collaboration de Arcane::FlexLMMng:Fonctions membres publiques | |
| void | init (IParallelSuperMng *parallel_super_mng) |
| Initialise le gestionnaire de licences. | |
| void | setCheckInterval (const Integer t=120) |
| Définit une nouvelle périodicité du contrôle des licences. | |
| bool | checkLicense (const String name, const Real version, bool do_fatal=true) const |
| Teste la présence d'une fonctionnalité statique. | |
| void | getLicense (const String name, const Real version, Integer nb_licenses=1) |
| Demande l'allocation de. | |
| void | releaseLicense (const String name, Integer nb_licenses=0) |
| Relache les licences de la fonctionnalité | |
| void | releaseAllLicenses () |
| Relache toutes les licences allouées. | |
| String | featureInfo (const String name, const Real version) const |
| Return info on feature. | |
Fonctions membres publiques statiques | |
| static FlexLMMng * | instance () |
| Accès au singleton. | |
Types privés | |
| typedef std::map< String, Integer > | FeatureMapType |
Fonctions membres privées | |
| FlexLMMng () | |
| Constructeur. | |
| virtual | ~FlexLMMng () |
| Destructeur. | |
Attributs privés | |
| FeatureMapType | m_features |
| IParallelSuperMng * | m_parallel_super_mng |
| bool | m_is_master |
| Cet host est il le maître des contrôles ? | |
Attributs privés statiques | |
| static FlexLMMng * | m_instance = NULL |
FlexLM manager.
Singleton for recording all taken feature licenses
Les contrôles sont effectués par le noeud maître (commRank==0) Pour vérifier la validité de ce contrôle soit la fonctionnalité ArcaneMasterFlexLM est disponible (ce qui ne locke pas les autres noeuds de l'exécution parallèle sur le noeud de licence) ou que tous les noeuds ont l'autorisation de ArcaneCore. Ceci est testé dans la phase init().
Définition à la ligne 71 du fichier FlexLMTools.h.
Définition à la ligne 125 du fichier FlexLMTools.h.
|
private |
Constructeur.
Définition à la ligne 118 du fichier FlexLMTools.cc.
Référencé par instance().
Voici le graphe des appelants de cette fonction :
|
inlineprivatevirtual |
Destructeur.
Définition à la ligne 79 du fichier FlexLMTools.h.
| bool Arcane::FlexLMMng::checkLicense | ( | const String | name, |
| const Real | version, | ||
| bool | do_fatal = true ) const |
Teste la présence d'une fonctionnalité statique.
Cette fonctionnalité n'utilisera pas de jeton de licence.
| do_fatal | indique s'il faut générer une erreur si non disponible |
Définition à la ligne 176 du fichier FlexLMTools.cc.
Références featureInfo(), Arcane::String::localstr(), et m_is_master.
Voici le graphe d'appel pour cette fonction :Return info on feature.
Définition à la ligne 271 du fichier FlexLMTools.cc.
Références Arcane::String::localstr(), m_is_master, Arcane::ConstArrayView< T >::size(), Arcane::StringBuilder::toString(), et Arcane::String::utf8().
Référencé par checkLicense(), et getLicense().
Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :| void Arcane::FlexLMMng::getLicense | ( | const String | name, |
| const Real | version, | ||
| Integer | nb_licenses = 1 ) |
Demande l'allocation de.
| nb_licenses | licences pour la fonctionnalité |
| name |
Les licences demandées sont indépendantes du nombre de processeurs
| nb_licenses | vaut par défaut 1 |
Définition à la ligne 196 du fichier FlexLMTools.cc.
Références featureInfo(), Arcane::String::localstr(), et m_is_master.
Voici le graphe d'appel pour cette fonction :| void Arcane::FlexLMMng::init | ( | IParallelSuperMng * | parallel_super_mng | ) |
Initialise le gestionnaire de licences.
Définition à la ligne 141 du fichier FlexLMTools.cc.
Références Arcane::FlexLMTools< FeatureModel >::checkLicense(), Arcane::IParallelSuperMng::commRank(), et m_is_master.
Référencé par Arcane::ArcaneMainExecInfo::initialize().
Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :
|
static |
Accès au singleton.
Définition à la ligne 129 du fichier FlexLMTools.cc.
Références FlexLMMng().
Référencé par Arcane::ArcaneMain::arcaneFinalize(), Arcane::FlexLMTools< FeatureModel >::checkLicense(), Arcane::FlexLMTools< FeatureModel >::checkLicense(), Arcane::FlexLMTools< FeatureModel >::featureInfo(), Arcane::FlexLMTools< FeatureModel >::getLicense(), Arcane::ArcaneMainExecInfo::initialize(), et Arcane::FlexLMTools< FeatureModel >::releaseLicense().
Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :| void Arcane::FlexLMMng::releaseAllLicenses | ( | ) |
Relache toutes les licences allouées.
Définition à la ligne 248 du fichier FlexLMTools.cc.
Références Arcane::String::localstr(), et m_is_master.
Référencé par Arcane::ArcaneMain::arcaneFinalize().
Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :Relache les licences de la fonctionnalité
| name | |
| nb_licenses | vaut 0 s'il faut relacher toutes les licences |
Définition à la ligne 218 du fichier FlexLMTools.cc.
Références Arcane::String::localstr(), et m_is_master.
Voici le graphe d'appel pour cette fonction :| void Arcane::FlexLMMng::setCheckInterval | ( | const Integer | t = 120 | ) |
Définit une nouvelle périodicité du contrôle des licences.
La valeur par défaut est 120s. si t == -1 : désactive le contrôle périodique si 0 <= t < 30 : la valeur n'est pas prise en compte si t >= 30 : définit une nouvelle périodicité du contrôle
Définition à la ligne 165 du fichier FlexLMTools.cc.
|
private |
Définition à la ligne 126 du fichier FlexLMTools.h.
|
staticprivate |
Définition à la ligne 127 du fichier FlexLMTools.h.
|
private |
Cet host est il le maître des contrôles ?
Définition à la ligne 129 du fichier FlexLMTools.h.
Référencé par checkLicense(), featureInfo(), getLicense(), init(), releaseAllLicenses(), et releaseLicense().
|
private |
Définition à la ligne 128 du fichier FlexLMTools.h.