12#ifndef ARCANE_MESH_ITEMSEXCHANGEINFO2_H
13#define ARCANE_MESH_ITEMSEXCHANGEINFO2_H
17#include "arcane/utils/List.h"
18#include "arcane/utils/TraceAccessor.h"
20#include "arcane/VariableCollection.h"
21#include "arcane/IItemFamilyExchanger.h"
22#include "arcane/IItemFamilySerializeStep.h"
23#include "arcane/ParallelExchangerOptions.h"
25#include "arcane/mesh/MeshGlobal.h"
45class ItemGroupsSerializer2;
46class TiedInterfaceExchanger;
47class ItemFamilyVariableSerializer;
74class ARCANE_MESH_EXPORT ItemsExchangeInfo2
81 ~ItemsExchangeInfo2();
98 void releaseBuffer()
override;
111 void readAndAllocSubMeshItems()
override;
112 void readAndAllocItemRelations()
override;
185 inline void _addItemToSend(
Int32 sub_domain_id,
Item item);
186 bool _computeExchangeInfos();
74class ARCANE_MESH_EXPORT ItemsExchangeInfo2 {
…};
Vue constante d'un tableau de type T.
Échange des entités et leurs caractéristiques pour une famille donnée.
Interface d'une étape de la sérialisation des familles d'entités.
ePhase
Phase de la sérialisation.
Gère la sérialisation/désérialisation des entités d'une famille.
Interface d'une famille d'entités.
Echange d'informations entre processeurs.
Arguments des callbacks de sérialisation des familles d'entités.
Structure interne d'une entité de maillage.
Classe de base d'un élément de maillage.
Options pour IParallelMng::processExchange().
Référence à une instance.
TraceAccessor(ITraceMng *m)
Construit un accesseur via le gestionnaire de trace m.
Vecteur 1D de données avec sémantique par valeur (style STL).
UniqueArray< ItemGroupsSerializer2 * > m_groups_serializers
Sérialiseur des groupes.
void readAndAllocItems() override
Après réception des messages, lit et créé les entités transférées.
void readVariables() override
Après réception des messages, lit les valeurs des variables.
void removeSentItems() override
Supprime les entités envoyées.
void finalizeExchange() override
Termine l'échange.
void computeExchangeItems() override
Détermine la liste des entités à échanger.
UniqueArray< IItemFamily * > m_families_to_exchange
Liste des familles intégrées à l'échange.
void setExchangeItems(ConstArrayView< std::set< Int32 > > items_to_send) override
Positionne la liste des entités à échanger.
UniqueArray< SharedArray< Int32 > > m_receive_local_ids
Liste des numéros locaux des entités reçues.
UniqueArray< SharedArray< Int32 > > m_send_local_ids
Liste des entités à envoyer à chaque processeur.
void processExchange() override
Envoie les messages d'échange.
bool computeExchangeInfos() override
Détermine les informations nécessaires pour les échanges.
IItemFamily * itemFamily() override
Famille associée.
void prepareToSend() override
Prépare les structures d'envoie.
void readGroups() override
Après réception des messages, lit les groupes.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
std::int32_t Int32
Type entier signé sur 32 bits.