Liste de messages de sérialisation. Plus de détails...
Classes | |
struct | ProbeInfo |
Fonctions membres publiques | |
SerializeMessageList (IMessagePassingMng *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 (eWaitType wait_type) override |
Attend que les messages aient terminé leur exécution. | |
Ref< ISerializeMessage > | createAndAddMessage (MessageRank destination, ePointToPointMessageType type) override |
Créé et ajoute un message de sérialisation. | |
void | setAllowAnyRankReceive (bool v) |
![]() | |
virtual | ~ISerializeMessageList () |
Libère les ressources. | |
Types privés | |
using | SerializeMessageContainer = UniqueArray<BasicSerializeMessage*> |
Fonctions membres privées | |
Integer | _waitMessages (eWaitType wait_type) |
void | _addMessage (BasicSerializeMessage *sm, const PointToPointMessageInfo &message_info) |
PointToPointMessageInfo | buildMessageInfo (ISerializeMessage *sm) |
void | _doProbe () |
Liste de messages de sérialisation.
Cette classe supporte le cas où une implémentation ne supporte par les messages ayant comme destionation n'importe quel rang (c'est par exemple le cas du mode hybride).
Définition à la ligne 39 du fichier SerializeMessageList.h.
|
private |
Définition à la ligne 42 du fichier SerializeMessageList.h.
Arcane::MessagePassing::internal::SerializeMessageList::SerializeMessageList | ( | IMessagePassingMng * | mpm | ) |
Définition à la ligne 33 du fichier SerializeMessageList.cc.
|
private |
Définition à la ligne 163 du fichier SerializeMessageList.cc.
|
private |
Définition à la ligne 93 du fichier SerializeMessageList.cc.
|
private |
Définition à la ligne 120 du fichier SerializeMessageList.cc.
|
overridevirtual |
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 44 du fichier SerializeMessageList.cc.
Référencé par createAndAddMessage().
|
private |
Définition à la ligne 179 du fichier SerializeMessageList.cc.
|
overridevirtual |
Créé et ajoute un message de sérialisation.
Le message peut être un message d'envoie ou de réception.
Si le message est de réception (MsgReceive), il est possible de spécifier un rang nul pour indiquer qu'on souhaite recevoir de n'importe qui.
Cette méthode appelle addMessage() pour ajouter automatiquement le message créé à la liste des messages. L'instance ne conserve pas de référence au message créé qui ne doit pas être détruit tant qu'il n'est pas terminé.
Implémente Arcane::MessagePassing::ISerializeMessageList.
Définition à la ligne 194 du fichier SerializeMessageList.cc.
Références addMessage().
|
overridevirtual |
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 56 du fichier SerializeMessageList.cc.
Référencé par waitMessages().
|
inline |
Définition à la ligne 68 du fichier SerializeMessageList.h.
|
overridevirtual |
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 76 du fichier SerializeMessageList.cc.
Références processPendingMessages().
|
private |
Définition à la ligne 78 du fichier SerializeMessageList.h.
|
private |
Définition à la ligne 72 du fichier SerializeMessageList.h.
|
private |
Définition à la ligne 79 du fichier SerializeMessageList.h.
|
private |
Définition à la ligne 75 du fichier SerializeMessageList.h.
|
private |
Définition à la ligne 77 du fichier SerializeMessageList.h.
|
private |
Définition à la ligne 73 du fichier SerializeMessageList.h.
|
private |
Définition à la ligne 76 du fichier SerializeMessageList.h.
|
private |
Définition à la ligne 74 du fichier SerializeMessageList.h.