Arcane  v3.16.0.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::MessagePassing::internal::SerializeMessageList

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< ISerializeMessagecreateAndAddMessage (MessageRank destination, ePointToPointMessageType type) override
 Créé et ajoute un message de sérialisation.
 
void setAllowAnyRankReceive (bool v)
 
- Fonctions membres publiques hérités de Arcane::MessagePassing::ISerializeMessageList
virtual ~ISerializeMessageList ()
 Libère les ressources.
 

Description détaillée

Définition à la ligne 39 du fichier SerializeMessageList.h.

Documentation des constructeurs et destructeur

◆ SerializeMessageList()

Arcane::MessagePassing::internal::SerializeMessageList::SerializeMessageList ( IMessagePassingMng * mpm)

Définition à la ligne 33 du fichier SerializeMessageList.cc.

Documentation des fonctions membres

◆ addMessage()

void Arcane::MessagePassing::internal::SerializeMessageList::addMessage ( ISerializeMessage * msg)
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().

◆ createAndAddMessage()

Ref< ISerializeMessage > Arcane::MessagePassing::internal::SerializeMessageList::createAndAddMessage ( MessageRank destination,
ePointToPointMessageType type )
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().

◆ processPendingMessages()

void Arcane::MessagePassing::internal::SerializeMessageList::processPendingMessages ( )
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().

◆ setAllowAnyRankReceive()

void Arcane::MessagePassing::internal::SerializeMessageList::setAllowAnyRankReceive ( bool v)
inline

Définition à la ligne 68 du fichier SerializeMessageList.h.

◆ waitMessages()

Integer Arcane::MessagePassing::internal::SerializeMessageList::waitMessages ( eWaitType wt)
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.

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 76 du fichier SerializeMessageList.cc.

Références processPendingMessages().


La documentation de cette classe a été générée à partir des fichiers suivants :