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

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 FlexLMMnginstance ()
 Accès au singleton.
 

Types privés

typedef std::map< String, IntegerFeatureMapType
 

Fonctions membres privées

 FlexLMMng ()
 Constructeur.
 
virtual ~FlexLMMng ()
 Destructeur.
 

Attributs privés

FeatureMapType m_features
 
IParallelSuperMngm_parallel_super_mng
 
bool m_is_master
 Cet host est il le maître des contrôles ?
 

Attributs privés statiques

static FlexLMMngm_instance = NULL
 

Description détaillée

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.

Documentation des définitions de type membres

◆ FeatureMapType

typedef std::map<String, Integer> Arcane::FlexLMMng::FeatureMapType
private

Définition à la ligne 125 du fichier FlexLMTools.h.

Documentation des constructeurs et destructeur

◆ FlexLMMng()

Arcane::FlexLMMng::FlexLMMng ( )
private

Constructeur.

Définition à la ligne 118 du fichier FlexLMTools.cc.

Référencé par instance().

+ Voici le graphe des appelants de cette fonction :

◆ ~FlexLMMng()

virtual Arcane::FlexLMMng::~FlexLMMng ( )
inlineprivatevirtual

Destructeur.

Définition à la ligne 79 du fichier FlexLMTools.h.

Documentation des fonctions membres

◆ checkLicense()

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.

Paramètres
do_fatalindique s'il faut générer une erreur si non disponible
Renvoie
0 si aucune erreur

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 :

◆ featureInfo()

String Arcane::FlexLMMng::featureInfo ( const String name,
const Real version ) const

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 :

◆ getLicense()

void Arcane::FlexLMMng::getLicense ( const String name,
const Real version,
Integer nb_licenses = 1 )

Demande l'allocation de.

Paramètres
nb_licenseslicences pour la fonctionnalité
name

Les licences demandées sont indépendantes du nombre de processeurs

Paramètres
nb_licensesvaut par défaut 1
Renvoie
0 si aucune erreur

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 :

◆ init()

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 :

◆ instance()

FlexLMMng * Arcane::FlexLMMng::instance ( )
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 :

◆ releaseAllLicenses()

void Arcane::FlexLMMng::releaseAllLicenses ( )

Relache toutes les licences allouées.

Renvoie
0 si aucune erreur

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 :

◆ releaseLicense()

void Arcane::FlexLMMng::releaseLicense ( const String name,
Integer nb_licenses = 0 )

Relache les licences de la fonctionnalité

Paramètres
name
nb_licensesvaut 0 s'il faut relacher toutes les licences
Renvoie
0 si aucune erreur

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 :

◆ setCheckInterval()

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.

Documentation des données membres

◆ m_features

FeatureMapType Arcane::FlexLMMng::m_features
private

Définition à la ligne 126 du fichier FlexLMTools.h.

◆ m_instance

FlexLMMng * Arcane::FlexLMMng::m_instance = NULL
staticprivate

Définition à la ligne 127 du fichier FlexLMTools.h.

◆ m_is_master

bool Arcane::FlexLMMng::m_is_master
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().

◆ m_parallel_super_mng

IParallelSuperMng* Arcane::FlexLMMng::m_parallel_super_mng
private

Définition à la ligne 128 du fichier FlexLMTools.h.


La documentation de cette classe a été générée à partir des fichiers suivants :