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

Liste de messages de sérialisation. Plus de détails...

#include </__w/arcaneframework.github.io/arcaneframework.github.io/framework/arccore/src/message_passing/arccore/message_passing/SerializeMessageList.h>

+ Graphe d'héritage de Arcane::MessagePassing::internal::SerializeMessageList:
+ Graphe de collaboration de Arcane::MessagePassing::internal::SerializeMessageList:

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< 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.
 

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 ()
 

Attributs privés

IMessagePassingMngm_message_passing_mng = nullptr
 
SerializeMessageContainer m_messages_to_process
 
Ref< IRequestListm_request_list
 
SerializeMessageContainer m_messages_serialize
 
SerializeMessageContainer m_remaining_serialize_messages
 
UniqueArray< ProbeInfom_messages_to_probe
 
bool m_allow_any_rank_receive = true
 
TimeMetricAction m_message_passing_phase
 

Description détaillée

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.

Documentation des définitions de type membres

◆ SerializeMessageContainer

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 ( BasicSerializeMessage * sm,
const PointToPointMessageInfo & message_info )
private

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

◆ _doProbe()

void Arcane::MessagePassing::internal::SerializeMessageList::_doProbe ( )
private

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

◆ _waitMessages()

Integer Arcane::MessagePassing::internal::SerializeMessageList::_waitMessages ( eWaitType wait_type)
private

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

◆ 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().

+ Voici le graphe des appelants de cette fonction :

◆ buildMessageInfo()

PointToPointMessageInfo Arcane::MessagePassing::internal::SerializeMessageList::buildMessageInfo ( ISerializeMessage * sm)
private

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

◆ 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().

+ Voici le graphe d'appel pour cette fonction :

◆ 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().

+ Voici le graphe des appelants de cette fonction :

◆ 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().

+ Voici le graphe d'appel pour cette fonction :

Documentation des données membres

◆ m_allow_any_rank_receive

bool Arcane::MessagePassing::internal::SerializeMessageList::m_allow_any_rank_receive = true
private

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

◆ m_message_passing_mng

IMessagePassingMng* Arcane::MessagePassing::internal::SerializeMessageList::m_message_passing_mng = nullptr
private

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

◆ m_message_passing_phase

TimeMetricAction Arcane::MessagePassing::internal::SerializeMessageList::m_message_passing_phase
private

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

◆ m_messages_serialize

SerializeMessageContainer Arcane::MessagePassing::internal::SerializeMessageList::m_messages_serialize
private

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

◆ m_messages_to_probe

UniqueArray<ProbeInfo> Arcane::MessagePassing::internal::SerializeMessageList::m_messages_to_probe
private

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

◆ m_messages_to_process

SerializeMessageContainer Arcane::MessagePassing::internal::SerializeMessageList::m_messages_to_process
private

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

◆ m_remaining_serialize_messages

SerializeMessageContainer Arcane::MessagePassing::internal::SerializeMessageList::m_remaining_serialize_messages
private

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

◆ m_request_list

Ref<IRequestList> Arcane::MessagePassing::internal::SerializeMessageList::m_request_list
private

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


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