Gère la sérialisation/désérialisation des variables d'une famille. Plus de détails...
#include <arcane/mesh/ItemFamilyVariableSerializer.h>
Graphe d'héritage de Arcane::ItemFamilyVariableSerializer:
Graphe de collaboration de Arcane::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. | |
| 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) |
| Sérialize un nombre magique et le nombre d'entité afin de vérifier que la désérialisation est correct. | |
| void | _checkSerializationVariable (ISerializer *sbuf, IVariable *var) |
| Sérialise le nom de la variable pour vérifier que la désérialisation est correcte. | |
Attributs privés | |
| IItemFamily * | m_item_family |
| UniqueArray< IVariable * > | m_variables_to_exchange |
| Liste des variables à échanger. | |
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... | |
Gère la sérialisation/désérialisation des variables d'une famille.
Définition à la ligne 39 du fichier ItemFamilyVariableSerializer.h.
| Arcane::mesh::ItemFamilyVariableSerializer::ItemFamilyVariableSerializer | ( | IItemFamily * | family | ) |
Définition à la ligne 63 du fichier ItemFamilyVariableSerializer.cc.
| Arcane::mesh::ItemFamilyVariableSerializer::~ItemFamilyVariableSerializer | ( | ) |
Définition à la ligne 73 du fichier ItemFamilyVariableSerializer.cc.
|
private |
Sérialize un nombre magique et le nombre d'entité afin de vérifier que la désérialisation est correct.
Définition à la ligne 132 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 :
|
private |
Sérialise le nom de la variable pour vérifier que la désérialisation est correcte.
Définition à la ligne 172 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 :
|
inlineprotected |
Définition à la ligne 54 du fichier ItemFamilyVariableSerializer.h.
|
private |
Serialise une variable partielle.
Cette méthode n'est pas très performante et doit être optimisée. En attendant, le fonctionnement est le suivant pour l'envoie
TODO: eviter d'envoyer tous les ids pour chaque variable TODO: utiliser les infos de ItemGroupsSerializer2 si possible pour connaitre la liste des entités à envoyer.
Définition à la ligne 282 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 :
|
inlineoverridevirtual |
Famille associée.
Implémente Arcane::IItemFamilySerializeStep.
Définition à la ligne 52 du fichier ItemFamilyVariableSerializer.h.
|
inlineoverridevirtual |
Effectue les traitements de fin d'échange.
Implémente Arcane::IItemFamilySerializeStep.
Définition à la ligne 50 du fichier ItemFamilyVariableSerializer.h.
|
overridevirtual |
Initialise l'instance avant le début des échanges.
Implémente Arcane::IItemFamilySerializeStep.
Définition à la ligne 81 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 :
|
inlineoverridevirtual |
Notifie l'instance qu'on entre dans une certaine phase de l'échange.
Implémente Arcane::IItemFamilySerializeStep.
Définition à la ligne 48 du fichier ItemFamilyVariableSerializer.h.
|
inlineoverridevirtual |
Phase de la sérialisation où cette instance intervient.
Implémente Arcane::IItemFamilySerializeStep.
Définition à la ligne 51 du fichier ItemFamilyVariableSerializer.h.
|
overridevirtual |
En sérialisation, rank est le rang de la cible. En désérialisation, rank est le rang de celui qui envoie le message.
Implémente Arcane::IItemFamilySerializeStep.
Définition à la ligne 203 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().
Voici le graphe d'appel pour cette fonction :
|
private |
Définition à la ligne 56 du fichier ItemFamilyVariableSerializer.h.
|
private |
Liste des variables à échanger.
IMPORTANT: Cette liste doit être identique pour tous les sous-domaines sinon les désérialisations vont donner des résultats incorrects.
Définition à la ligne 63 du fichier ItemFamilyVariableSerializer.h.
Référencé par initialize(), et serialize().