Arcane  v3.14.10.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 Arccore::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 63 du fichier HybridParallelMng.cc.

Documentation des constructeurs et destructeur

◆ HybridSerializeMessageList()

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

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

Documentation des fonctions membres

◆ _wait()

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

Définition à la ligne 125 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 Arccore::MessagePassing::ISerializeMessageList.

Définition à la ligne 86 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 Arccore::MessagePassing::ISerializeMessageList.

Définition à la ligne 91 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 Arccore::MessagePassing::ISerializeMessageList.

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

Références ARCANE_THROW.

Documentation des données membres

◆ m_messages_to_process

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

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

◆ m_parallel_mng

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

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

◆ m_trace

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

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


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