Manages the serialization/deserialization of variables within a family. Plus de détails...
#include <arcane/mesh/ItemFamilyVariableSerializer.h>
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. | |
| IItemFamily * | family () 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. | |
| TraceAccessor & | operator= (const TraceAccessor &rhs) |
| Opérateur de recopie. | |
| virtual | ~TraceAccessor () |
| Libère les ressources. | |
| ITraceMng * | traceMng () 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 | |
| IItemFamily * | m_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... | |
Manages the serialization/deserialization of variables within a family.
Définition à la ligne 44 du fichier ItemFamilyVariableSerializer.h.
| Arcane::mesh::ItemFamilyVariableSerializer::ItemFamilyVariableSerializer | ( | IItemFamily * | family | ) |
Définition à la ligne 62 du fichier ItemFamilyVariableSerializer.cc.
| Arcane::mesh::ItemFamilyVariableSerializer::~ItemFamilyVariableSerializer | ( | ) |
Définition à la ligne 72 du fichier ItemFamilyVariableSerializer.cc.
|
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().
|
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().
|
inlineprotected |
Définition à la ligne 64 du fichier ItemFamilyVariableSerializer.h.
|
private |
Serialise une variable partielle.
This method is not very performant and must be optimized. For now, the operation is as follows for sending
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().
|
inlineoverridevirtual |
Famille associée.
Implémente Arcane::IItemFamilySerializeStep.
Définition à la ligne 60 du fichier ItemFamilyVariableSerializer.h.
|
inlineoverridevirtual |
Effectue les traitements de fin d'échange.
Implémente Arcane::IItemFamilySerializeStep.
Définition à la ligne 58 du fichier ItemFamilyVariableSerializer.h.
|
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().
|
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.
|
inlineoverridevirtual |
Phase de la sérialisation où cette instance intervient.
Implémente Arcane::IItemFamilySerializeStep.
Définition à la ligne 59 du fichier ItemFamilyVariableSerializer.h.
|
overridevirtual |
During serialization, rank is the rank of the target. During deserialization, rank is the rank of the sender.
Implémente Arcane::IItemFamilySerializeStep.
Définition à la ligne 200 du fichier ItemFamilyVariableSerializer.cc.
Références _checkSerialization(), _checkSerializationVariable(), _serializePartialVariable(), Arcane::Array< DataType >::add(), Arcane::arcaneIsDebug(), Arcane::TraceAccessor::debug(), ENUMERATE_ITEM, Arcane::Trace::High, Arcane::Trace::Highest, Arcane::TraceAccessor::info(), Arcane::ItemFamilySerializeArgs::localIds(), m_variables_to_exchange, Arcane::ISerializer::mode(), Arcane::ISerializer::ModeGet, Arcane::ItemFamilySerializeArgs::rank(), Arcane::Array< DataType >::reserve(), Arcane::ItemFamilySerializeArgs::serializer(), Arcane::AbstractArray< T >::size(), Arcane::ConstArrayView< T >::size(), Arcane::ItemVector::size(), Arcane::MeshToMeshTransposer::transpose(), et Arcane::IItemFamily::view().
|
private |
Définition à la ligne 68 du fichier ItemFamilyVariableSerializer.h.
|
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().