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. | |
![]() | |
virtual | ~ISerializeMessageList () |
Libère les ressources. | |
virtual Ref< ISerializeMessage > | createAndAddMessage (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 | |
HybridParallelMng * | m_parallel_mng |
ITraceMng * | m_trace |
UniqueArray< ISerializeMessage * > | m_messages_to_process |
Définition à la ligne 62 du fichier HybridParallelMng.cc.
|
inlineexplicit |
Définition à la ligne 78 du fichier HybridParallelMng.cc.
|
private |
Définition à la ligne 124 du fichier HybridParallelMng.cc.
|
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.
|
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.
|
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.
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.
|
private |
Définition à la ligne 115 du fichier HybridParallelMng.cc.
|
private |
Définition à la ligne 113 du fichier HybridParallelMng.cc.
|
private |
Définition à la ligne 114 du fichier HybridParallelMng.cc.