Arcane  v3.16.0.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::MessagePassing::HybridSerializeMessageList
+ Graphe d'héritage de Arcane::MessagePassing::HybridSerializeMessageList:
+ Graphe de collaboration de Arcane::MessagePassing::HybridSerializeMessageList:

Classes

class  HybridSerializeMessageRequest
 

Fonctions membres publiques

 HybridSerializeMessageList (HybridParallelMng *mpm)
 
void addMessage (ISerializeMessage *msg) override
 Ajoute un message à la liste.
 
void processPendingMessages () override
 Envoie les messages de la liste qui ne l'ont pas encore été.
 
Integer waitMessages (Parallel::eWaitType wait_type) override
 Attend que les messages aient terminé leur exécution.
 
- Fonctions membres publiques hérités de Arcane::MessagePassing::ISerializeMessageList
virtual ~ISerializeMessageList ()
 Libère les ressources.
 
virtual Ref< ISerializeMessagecreateAndAddMessage (MessageRank destination, ePointToPointMessageType type)=0
 Créé et ajoute un message de sérialisation.
 

Fonctions membres privées

void _waitAll ()
 
void _wait (Parallel::eWaitType wait_mode)
 

Attributs privés

HybridParallelMngm_parallel_mng
 
ITraceMngm_trace
 
UniqueArray< ISerializeMessage * > m_messages_to_process
 

Description détaillée

Définition à la ligne 62 du fichier HybridParallelMng.cc.

Documentation des constructeurs et destructeur

◆ HybridSerializeMessageList()

Arcane::MessagePassing::HybridSerializeMessageList::HybridSerializeMessageList ( HybridParallelMng * mpm)
inlineexplicit

Définition à la ligne 78 du fichier HybridParallelMng.cc.

Documentation des fonctions membres

◆ _wait()

void Arcane::MessagePassing::HybridSerializeMessageList::_wait ( Parallel::eWaitType wait_mode)
private

Définition à la ligne 124 du fichier HybridParallelMng.cc.

◆ addMessage()

void Arcane::MessagePassing::HybridSerializeMessageList::addMessage ( ISerializeMessage * msg)
inlineoverridevirtual

Ajoute un message à la liste.

Le message n'est pas posté tant qu'aucun appel à processPendingMessages() n'a été effectué. L'utilisateur garde la propriété du message qui ne doit pas être détruit tant qu'il n'est pas terminé.

Implémente Arcane::MessagePassing::ISerializeMessageList.

Définition à la ligne 85 du fichier HybridParallelMng.cc.

◆ processPendingMessages()

void Arcane::MessagePassing::HybridSerializeMessageList::processPendingMessages ( )
inlineoverridevirtual

Envoie les messages de la liste qui ne l'ont pas encore été.

Cette méthode envoie les messages ajoutés via addMessage() qui ne l'ont pas encore été. Il n'est en général pas nécessaire d'appeler cette méthode car cele est fait automatiquement lors de l'appel à waitMessages().

Implémente Arcane::MessagePassing::ISerializeMessageList.

Définition à la ligne 90 du fichier HybridParallelMng.cc.

◆ waitMessages()

Integer Arcane::MessagePassing::HybridSerializeMessageList::waitMessages ( Parallel::eWaitType wt)
inlineoverridevirtual

Attend que les messages aient terminé leur exécution.

Le type d'attente est spécifié par wt.

Il est ensuite possible de tester si un message est terminé via la méthode ISerializeMessage::isFinished(). Cette classe ne garde aucune référence sur les messages terminés qui peuvent donc être détruits par l'utilisateur dès qu'il n'en a plus besoin.

Renvoie
le nombre de messages complètement exécutés ou (-1) s'ils l'ont tous été.

Implémente Arcane::MessagePassing::ISerializeMessageList.

Définition à la ligne 94 du fichier HybridParallelMng.cc.

Références ARCANE_THROW, Arcane::MessagePassing::WaitSome, et Arcane::MessagePassing::WaitSomeNonBlocking.

Documentation des données membres

◆ m_messages_to_process

UniqueArray<ISerializeMessage*> Arcane::MessagePassing::HybridSerializeMessageList::m_messages_to_process
private

Définition à la ligne 115 du fichier HybridParallelMng.cc.

◆ m_parallel_mng

HybridParallelMng* Arcane::MessagePassing::HybridSerializeMessageList::m_parallel_mng
private

Définition à la ligne 113 du fichier HybridParallelMng.cc.

◆ m_trace

ITraceMng* Arcane::MessagePassing::HybridSerializeMessageList::m_trace
private

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


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