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/core/VariableCollection.h"
21#include "arcane/core/IItemFamilyExchanger.h"
22#include "arcane/core/IItemFamilySerializeStep.h"
23#include "arcane/core/ParallelExchangerOptions.h"
25#include "arcane/mesh/MeshGlobal.h"
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();
Constant view of an array of type T.
Exchange of entities and their characteristics for a given family.
Interface for a step in the serialization of entity families.
ePhase
Serialization phase.
Manages the serialization/deserialization of entities in a family.
Interface of an entity family.
Information exchange between processors.
Arguments for the serialization callbacks of entity families.
Internal structure of a mesh entity.
Base class for a mesh element.
Options for IParallelMng::processExchange().
Reference to an instance.
TraceAccessor(ITraceMng *m)
Constructs an accessor via the trace manager m.
1D data vector with value semantics (STL style).
Manages the serialization/deserialization of variables within a family.
Serializes the entities of the groups.
UniqueArray< ItemGroupsSerializer2 * > m_groups_serializers
Serializer of groups.
void readAndAllocItems() override
After receiving messages, reads and creates the transferred entities.
void readVariables() override
After receiving messages, reads the variable values.
void removeSentItems() override
Deletes the sent entities.
void finalizeExchange() override
Finalizes the exchange.
UniqueArray< SharedArray< Int32 > > m_receive_local_ids
List of local IDs of received entities.
void computeExchangeItems() override
Determines the list of entities to exchange.
UniqueArray< IItemFamily * > m_families_to_exchange
List of families included in the exchange.
void setExchangeItems(ConstArrayView< std::set< Int32 > > items_to_send) override
Positions the list of entities to exchange.
void processExchange() override
Sends the exchange messages.
bool computeExchangeInfos() override
Determines the necessary information for the exchanges.
IItemFamily * itemFamily() override
Associated family.
void prepareToSend() override
Prepares the sending structures.
void readGroups() override
After receiving messages, reads the groups.
UniqueArray< SharedArray< Int32 > > m_send_local_ids
List of entities to send to each processor.
Exchanger between sub-domains of linked interfaces.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
std::int32_t Int32
Signed integer type of 32 bits.