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 65 du fichier HybridParallelMng.cc.
|
inlineexplicit |
Définition à la ligne 81 du fichier HybridParallelMng.cc.
|
private |
Définition à la ligne 127 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 88 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 93 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 97 du fichier HybridParallelMng.cc.
Références ARCANE_THROW, Arcane::MessagePassing::WaitSome, et Arcane::MessagePassing::WaitSomeNonBlocking.
|
private |
Définition à la ligne 118 du fichier HybridParallelMng.cc.
|
private |
Définition à la ligne 116 du fichier HybridParallelMng.cc.
|
private |
Définition à la ligne 117 du fichier HybridParallelMng.cc.