Arcane  v3.14.10.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, Integer > FeatureMapType
 

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().

◆ ~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 172 du fichier FlexLMTools.cc.

Références Arcane::IParallelSuperMng::broadcast(), featureInfo(), et m_is_master.

◆ featureInfo()

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

Return info on feature.

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

Références Arcane::IParallelSuperMng::broadcast(), m_is_master, Arccore::ConstArrayView< T >::size(), et Arccore::String::utf8().

Référencé par checkLicense(), et getLicense().

◆ 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 192 du fichier FlexLMTools.cc.

Références Arcane::IParallelSuperMng::broadcast(), featureInfo(), et m_is_master.

◆ 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 m_is_master.

◆ 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(), et Arcane::ArcaneMainExecInfo::initialize().

◆ releaseAllLicenses()

void Arcane::FlexLMMng::releaseAllLicenses ( )

Relache toutes les licences allouées.

Renvoie
0 si aucune erreur

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

Références m_is_master.

◆ 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 214 du fichier FlexLMTools.cc.

Références m_is_master.

◆ 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 161 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 :