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

Classe de base d'une liste de requêtes. Plus de détails...

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

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

Fonctions membres publiques

void add (Request r) override
 Ajoute la requête r à la liste des requêtes.
 
void add (Span< Request > r) override
 Ajoute la liste de requêtes rlist à la liste des requêtes.
 
Int32 wait (eWaitType wait_type) final
 Attend ou test la complétion de une ou plusieurs requêtes.
 
Int32 size () const override
 Nombre de requêtes.
 
void clear () final
 Supprime toutes les requêtes de la liste.
 
void removeDoneRequests () override
 Supprime de la liste les requêtes terminées.
 
bool isRequestDone (Int32 index) const override
 Indique si la requête est terminée depuis le dernier appel à wait()
 
Request request (Int32 index) const override
 index-ième requête de la liste
 
ConstArrayView< Int32doneRequestIndexes () const final
 Indices dans le tableaux des requêtes des requêtes terminées lors du dernier appel à wait().
 

Fonctions membres protégées

virtual void _add (const Request &r)
 
virtual void _add (Span< Request > rlist)
 
virtual void _removeRequestAtIndex (Integer pos)
 
virtual void _wait (eWaitType wait_type)=0
 Effectue l'attente ou le test.
 
ArrayView< Request_requests ()
 
ArrayView< bool > _requestsDone ()
 

Attributs privés

UniqueArray< Requestm_requests
 
UniqueArray< bool > m_requests_done
 
UniqueArray< Int32m_done_request_indexes
 

Description détaillée

Classe de base d'une liste de requêtes.

Définition à la ligne 30 du fichier RequestListBase.h.

Documentation des fonctions membres

◆ _add() [1/2]

virtual void Arcane::MessagePassing::internal::RequestListBase::_add ( const Request & r)
inlineprotectedvirtual

Définition à la ligne 51 du fichier RequestListBase.h.

◆ _add() [2/2]

virtual void Arcane::MessagePassing::internal::RequestListBase::_add ( Span< Request > rlist)
inlineprotectedvirtual

Définition à la ligne 56 du fichier RequestListBase.h.

◆ _removeRequestAtIndex()

virtual void Arcane::MessagePassing::internal::RequestListBase::_removeRequestAtIndex ( Integer pos)
inlineprotectedvirtual

Définition à la ligne 61 du fichier RequestListBase.h.

◆ _requests()

ArrayView< Request > Arcane::MessagePassing::internal::RequestListBase::_requests ( )
inlineprotected

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

◆ _requestsDone()

ArrayView< bool > Arcane::MessagePassing::internal::RequestListBase::_requestsDone ( )
inlineprotected

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

◆ _wait()

virtual void Arcane::MessagePassing::internal::RequestListBase::_wait ( eWaitType wait_type)
protectedpure virtual

Effectue l'attente ou le test.

L'implémentation doit remplir à _requestsDone() avec la valeur true pour chaque requête terminée sauf si wait_type vaut WaitAll.

Implémenté dans Arcane::MessagePassing::HybridParallelMng::RequestList, Arcane::MessagePassing::Mpi::MpiRequestList, Arcane::MessagePassing::SharedMemoryParallelMng::RequestList, Arcane::MpiParallelMng::RequestList, et Arcane::SequentialRequestList.

Référencé par wait().

+ Voici le graphe des appelants de cette fonction :

◆ add() [1/2]

void Arcane::MessagePassing::internal::RequestListBase::add ( Request r)
inlineoverridevirtual

Ajoute la requête r à la liste des requêtes.

Implémente Arcane::MessagePassing::IRequestList.

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

◆ add() [2/2]

void Arcane::MessagePassing::internal::RequestListBase::add ( Span< Request > rlist)
inlineoverridevirtual

Ajoute la liste de requêtes rlist à la liste des requêtes.

Implémente Arcane::MessagePassing::IRequestList.

Définition à la ligne 40 du fichier RequestListBase.h.

◆ clear()

void Arcane::MessagePassing::internal::RequestListBase::clear ( )
finalvirtual

Supprime toutes les requêtes de la liste.

Implémente Arcane::MessagePassing::IRequestList.

Définition à la ligne 26 du fichier RequestListBase.cc.

◆ doneRequestIndexes()

ConstArrayView< Int32 > Arcane::MessagePassing::internal::RequestListBase::doneRequestIndexes ( ) const
finalvirtual

Indices dans le tableaux des requêtes des requêtes terminées lors du dernier appel à wait().

Implémente Arcane::MessagePassing::IRequestList.

Définition à la ligne 54 du fichier RequestListBase.cc.

◆ isRequestDone()

bool Arcane::MessagePassing::internal::RequestListBase::isRequestDone ( Int32 index) const
inlineoverridevirtual

Indique si la requête est terminée depuis le dernier appel à wait()

Implémente Arcane::MessagePassing::IRequestList.

Définition à la ligne 45 du fichier RequestListBase.h.

Références isRequestDone().

Référencé par isRequestDone().

+ Voici le graphe d'appel pour cette fonction :
+ Voici le graphe des appelants de cette fonction :

◆ removeDoneRequests()

void Arcane::MessagePassing::internal::RequestListBase::removeDoneRequests ( )
overridevirtual

Supprime de la liste les requêtes terminées.

Toutes les requêtes pour lesquelles isRequestDone() est vrai sont supprimées de la liste des requêtes. Après appel à cette méthode, on considère qu'il n'y a plus de requêtes terminées. Par conséquent, doneRequestsIndexes() sera vide et isRequestDone() retournera toujours false.

Implémente Arcane::MessagePassing::IRequestList.

Définition à la ligne 37 du fichier RequestListBase.cc.

◆ request()

Request Arcane::MessagePassing::internal::RequestListBase::request ( Int32 index) const
inlineoverridevirtual

index-ième requête de la liste

Implémente Arcane::MessagePassing::IRequestList.

Définition à la ligne 46 du fichier RequestListBase.h.

◆ size()

Int32 Arcane::MessagePassing::internal::RequestListBase::size ( ) const
inlineoverridevirtual

Nombre de requêtes.

Implémente Arcane::MessagePassing::IRequestList.

Définition à la ligne 42 du fichier RequestListBase.h.

Référencé par wait().

+ Voici le graphe des appelants de cette fonction :

◆ wait()

Int32 Arcane::MessagePassing::internal::RequestListBase::wait ( eWaitType wait_type)
finalvirtual

Attend ou test la complétion de une ou plusieurs requêtes.

En retour, retourne le nombre de nouvelles requêtes terminées. Il est ensuite possible de tester si une requête est terminée via la méthode isRequestDone() ou de récupérer les indices des requêtes terminées via doneRequestIndexes().

Note
Les requêtes terminées après un appel à wait() restent dans la liste des requêtes. Il faut appeler la méthode removeDoneRequests() si on souhaite les supprimer.

Implémente Arcane::MessagePassing::IRequestList.

Définition à la ligne 63 du fichier RequestListBase.cc.

Références _wait(), et size().

+ Voici le graphe d'appel pour cette fonction :

Documentation des données membres

◆ m_done_request_indexes

UniqueArray<Int32> Arcane::MessagePassing::internal::RequestListBase::m_done_request_indexes
private

Définition à la ligne 84 du fichier RequestListBase.h.

◆ m_requests

UniqueArray<Request> Arcane::MessagePassing::internal::RequestListBase::m_requests
private

Définition à la ligne 82 du fichier RequestListBase.h.

◆ m_requests_done

UniqueArray<bool> Arcane::MessagePassing::internal::RequestListBase::m_requests_done
private

Définition à la ligne 83 du fichier RequestListBase.h.


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