Arcane  4.1.11.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::mesh::ItemFamilyVariableSerializer

Manages the serialization/deserialization of variables within a family. Plus de détails...

#include <arcane/mesh/ItemFamilyVariableSerializer.h>

Graphe d'héritage de Arcane::mesh::ItemFamilyVariableSerializer:
Graphe de collaboration de Arcane::mesh::ItemFamilyVariableSerializer:

Fonctions membres publiques

 ItemFamilyVariableSerializer (IItemFamily *family)
void initialize () override
 Initialise l'instance avant le début des échanges.
void notifyAction (const NotifyActionArgs &) override
 Notifie l'instance qu'on entre dans une certaine phase de l'échange.
void serialize (const ItemFamilySerializeArgs &args) override
void finalize () override
 Effectue les traitements de fin d'échange.
ePhase phase () const override
 Phase de la sérialisation où cette instance intervient.
IItemFamilyfamily () const override
 Famille associée.
Fonctions membres publiques hérités de Arcane::TraceAccessor
 TraceAccessor (ITraceMng *m)
 Construit un accesseur via le gestionnaire de trace m.
 TraceAccessor (const TraceAccessor &rhs)
 Constructeur par recopie.
TraceAccessoroperator= (const TraceAccessor &rhs)
 Opérateur de recopie.
virtual ~TraceAccessor ()
 Libère les ressources.
ITraceMngtraceMng () const
 Gestionnaire de trace.
TraceMessage info () const
 Flot pour un message d'information.
TraceMessage pinfo () const
 Flot pour un message d'information en parallèle.
TraceMessage info (char category) const
 Flot pour un message d'information d'une catégorie donnée.
TraceMessage pinfo (char category) const
 Flot pour un message d'information parallèle d'une catégorie donnée.
TraceMessage info (bool v) const
 Flot pour un message d'information.
TraceMessage warning () const
 Flot pour un message d'avertissement.
TraceMessage pwarning () const
TraceMessage error () const
 Flot pour un message d'erreur.
TraceMessage perror () const
TraceMessage log () const
 Flot pour un message de log.
TraceMessage plog () const
 Flot pour un message de log.
TraceMessage logdate () const
 Flot pour un message de log précédé de la date.
TraceMessage fatal () const
 Flot pour un message d'erreur fatale.
TraceMessage pfatal () const
 Flot pour un message d'erreur fatale en parallèle.
TraceMessageDbg debug (Trace::eDebugLevel=Trace::Medium) const
 Flot pour un message de debug.
Trace::eDebugLevel configDbgLevel () const
 Niveau debug du fichier de configuration.
TraceMessage info (Int32 verbose_level) const
 Flot pour un message d'information d'un niveau donné
TraceMessage linfo () const
 Flot pour un message d'information avec le niveau d'information local à cette instance.
TraceMessage linfo (Int32 relative_level) const
 Flot pour un message d'information avec le niveau d'information local à cette instance.
void fatalMessage (const StandaloneTraceMessage &o) const

Fonctions membres protégées

IItemFamily_family () const
Fonctions membres protégées hérités de Arcane::TraceAccessor
void _setLocalVerboseLevel (Int32 v)
Int32 _localVerboseLevel () const

Fonctions membres privées

void _serializePartialVariable (IVariable *var, ISerializer *sbuf, Int32ConstArrayView local_ids)
 Serialise une variable partielle.
void _checkSerialization (ISerializer *sbuf, Int32ConstArrayView local_ids)
 Serializes a magic number and the number of entities to verify that deserialization is correct.
void _checkSerializationVariable (ISerializer *sbuf, IVariable *var)
 Serializes the variable name to verify that deserialization is correct.

Attributs privés

IItemFamilym_item_family
UniqueArray< IVariable * > m_variables_to_exchange
 List of variables to exchange.

Membres hérités additionnels

Types publics hérités de Arcane::IItemFamilySerializeStep
enum  ePhase { PH_Item , PH_Group , PH_Variable }
 Phase de la sérialisation. Plus de détails...
enum class  eAction { AC_BeginPrepareSend , AC_EndPrepareSend , AC_BeginReceive , AC_EndReceive }
 Action en cours de la sérialisation. Plus de détails...

Description détaillée

Manages the serialization/deserialization of variables within a family.

Définition à la ligne 44 du fichier ItemFamilyVariableSerializer.h.

Documentation des constructeurs et destructeur

◆ ItemFamilyVariableSerializer()

Arcane::mesh::ItemFamilyVariableSerializer::ItemFamilyVariableSerializer ( IItemFamily * family)

Définition à la ligne 62 du fichier ItemFamilyVariableSerializer.cc.

◆ ~ItemFamilyVariableSerializer()

Arcane::mesh::ItemFamilyVariableSerializer::~ItemFamilyVariableSerializer ( )

Définition à la ligne 72 du fichier ItemFamilyVariableSerializer.cc.

Documentation des fonctions membres

◆ _checkSerialization()

void Arcane::mesh::ItemFamilyVariableSerializer::_checkSerialization ( ISerializer * sbuf,
Int32ConstArrayView local_ids )
private

Serializes a magic number and the number of entities to verify that deserialization is correct.

Définition à la ligne 131 du fichier ItemFamilyVariableSerializer.cc.

Références ARCANE_FATAL, Arcane::ISerializer::getInteger(), Arcane::ISerializer::mode(), Arcane::ISerializer::ModeGet, Arcane::ISerializer::ModePut, Arcane::ISerializer::put(), et Arcane::ConstArrayView< T >::size().

Référencé par serialize().

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

◆ _checkSerializationVariable()

void Arcane::mesh::ItemFamilyVariableSerializer::_checkSerializationVariable ( ISerializer * sbuf,
IVariable * var )
private

Serializes the variable name to verify that deserialization is correct.

Définition à la ligne 171 du fichier ItemFamilyVariableSerializer.cc.

Références ARCANE_FATAL, Arcane::IVariable::fullName(), Arcane::ISerializer::get(), Arcane::ISerializer::mode(), Arcane::ISerializer::ModeGet, Arcane::ISerializer::ModePut, Arcane::ISerializer::put(), et Arcane::ISerializer::reserve().

Référencé par serialize().

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

◆ _family()

IItemFamily * Arcane::mesh::ItemFamilyVariableSerializer::_family ( ) const
inlineprotected

Définition à la ligne 64 du fichier ItemFamilyVariableSerializer.h.

◆ _serializePartialVariable()

void Arcane::mesh::ItemFamilyVariableSerializer::_serializePartialVariable ( IVariable * var,
ISerializer * sbuf,
Int32ConstArrayView local_ids )
private

Serialise une variable partielle.

This method is not very performant and must be optimized. For now, the operation is as follows for sending

  • determines the list of entities to send based on the new owner of the entities.
  • serializes the uniqueId() of these entities
  • serializes the variable. For receiving:
  • builds a hash map uniqueId() -> index in the variable
  • deserializes the uniqueId() and converts them to indices
  • deserializes the variable.

TODO: avoid sending all IDs for every variable TODO: use the information from ItemGroupsSerializer2 if possible to know the list of entities to send.

Définition à la ligne 280 du fichier ItemFamilyVariableSerializer.cc.

Références Arcane::Array< DataType >::add(), ARCANE_FATAL, ENUMERATE_ITEM, Arcane::IVariable::fullName(), Arcane::ISerializer::getInt64(), Arcane::ISerializer::getSpan(), Arcane::Int64, Arcane::IVariable::itemGroup(), Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::lookup(), Arcane::ISerializer::mode(), Arcane::ISerializer::ModeGet, Arcane::ISerializer::ModePut, Arcane::HashTableMapT< KeyType, ValueType, KeyTraitsType >::nocheckAdd(), Arcane::ISerializer::putInt64(), Arcane::ISerializer::putSpan(), Arcane::ISerializer::reserveInt64(), Arcane::ISerializer::reserveSpan(), Arcane::Array< DataType >::resize(), Arcane::IVariable::serialize(), Arcane::AbstractArray< T >::size(), Arcane::ConstArrayView< T >::size(), et Arcane::ItemGroup::size().

Référencé par serialize().

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

◆ family()

IItemFamily * Arcane::mesh::ItemFamilyVariableSerializer::family ( ) const
inlineoverridevirtual

Famille associée.

Implémente Arcane::IItemFamilySerializeStep.

Définition à la ligne 60 du fichier ItemFamilyVariableSerializer.h.

◆ finalize()

void Arcane::mesh::ItemFamilyVariableSerializer::finalize ( )
inlineoverridevirtual

Effectue les traitements de fin d'échange.

Implémente Arcane::IItemFamilySerializeStep.

Définition à la ligne 58 du fichier ItemFamilyVariableSerializer.h.

◆ initialize()

void Arcane::mesh::ItemFamilyVariableSerializer::initialize ( )
overridevirtual

Initialise l'instance avant le début des échanges.

Implémente Arcane::IItemFamilySerializeStep.

Définition à la ligne 80 du fichier ItemFamilyVariableSerializer.cc.

Références Arcane::Array< DataType >::add(), Arcane::TraceAccessor::debug(), Arcane::IItemFamily::fullName(), Arcane::IVariable::fullName(), Arcane::Trace::High, Arcane::TraceAccessor::info(), Arcane::IVariable::itemFamily(), m_variables_to_exchange, Arcane::IVariable::PNoExchange, Arcane::IVariable::property(), Arcane::AbstractArray< T >::size(), et Arcane::IVariableMng::usedVariables().

Voici le graphe d'appel pour cette fonction :

◆ notifyAction()

void Arcane::mesh::ItemFamilyVariableSerializer::notifyAction ( const NotifyActionArgs & args)
inlineoverridevirtual

Notifie l'instance qu'on entre dans une certaine phase de l'échange.

Implémente Arcane::IItemFamilySerializeStep.

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

◆ phase()

ePhase Arcane::mesh::ItemFamilyVariableSerializer::phase ( ) const
inlineoverridevirtual

Phase de la sérialisation où cette instance intervient.

Implémente Arcane::IItemFamilySerializeStep.

Définition à la ligne 59 du fichier ItemFamilyVariableSerializer.h.

◆ serialize()

Documentation des données membres

◆ m_item_family

IItemFamily* Arcane::mesh::ItemFamilyVariableSerializer::m_item_family
private

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

◆ m_variables_to_exchange

UniqueArray<IVariable*> Arcane::mesh::ItemFamilyVariableSerializer::m_variables_to_exchange
private

List of variables to exchange.

IMPORTANT: This list must be identical for all sub-domains otherwise the deserializations will give incorrect results.

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

Référencé par initialize(), et serialize().


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