Arcane  v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
ICheckpointMng.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2022 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
4// See the top-level COPYRIGHT file for details.
5// SPDX-License-Identifier: Apache-2.0
6//-----------------------------------------------------------------------------
7/*---------------------------------------------------------------------------*/
8/* ICheckpointMng.h (C) 2000-2018 */
9/* */
10/* Interface du gestionnaire des informations des protections. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_ICHECKPOINTMNG_H
13#define ARCANE_ICHECKPOINTMNG_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/ArcaneTypes.h"
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22ARCANE_BEGIN_NAMESPACE
23
24/*---------------------------------------------------------------------------*/
25/*---------------------------------------------------------------------------*/
26
27class ICheckpointWriter;
28class ICheckpointReader;
29class IObservable;
30class CheckpointInfo;
31
32/*---------------------------------------------------------------------------*/
33/*---------------------------------------------------------------------------*/
34/*!
35 * \brief Interface du gestionnaire des informations des protections.
36 *
37 * Ce gestionnaire gère les informations des protections, à savoir les
38 * temps protégés, les services utilisés et d'autres informations nécessaires
39 * pour les reprises. Il ne gère pas directement l'écriture ni la relecture
40 * qui sont déléguées à un ICheckpointReader ou ICheckpointWriter.
41 *
42 * La lecture d'une protection provoque la modification de toutes les variables
43 * et des maillages.
44 */
46{
47 public:
48
49 virtual ~ICheckpointMng() {} //!< Libère les ressources.
50
51 public:
52
53 /*!
54 * \brief Lit une protection.
55 *
56 * Cette opération est collective.
57 *
58 * \deprecated Utiliser readDefaultCheckpoint() à la place
59 */
60 ARCANE_DEPRECATED_122 virtual void readCheckpoint() =0;
61
62 /*!
63 * \brief Lit une protection.
64 *
65 * Lit une protection à partir du lecture \a reader.
66 */
67 virtual void readCheckpoint(ICheckpointReader* reader) =0;
68
69 /*!
70 * \brief Lit une protection.
71 *
72 * Lit une protection dont les infos de lecture sont dans \a infos.
73 *
74 * \deprecated A la place, utiliser le code suivants:
75 * \code
76 * ICheckpointMng* cm = ...;
77 * Span<const Byte> buffer;
78 * CheckpointInfo checkpoint_info = cm->readChekpointInfo(buffer);
79 * cm->readChekpoint(checkpoint_info);
80 * \endcode
81 */
82 virtual ARCANE_DEPRECATED_2018 void readCheckpoint(ByteConstArrayView infos) =0;
83
84 /*!
85 * \brief Lit les informations d'une protection.
86 *
87 * Lit les informations d'une protection contenant dans le buffer \a infos.
88 * \a buf_name contient le nom du buffer utilisé dans les affichages en cas d'erreur.
89 */
90 virtual CheckpointInfo readCheckpointInfo(Span<const Byte> infos,const String& buf_name) =0;
91
92 /*!
93 * \brief Lit une protection.
94 *
95 * Lit une protection dont les infos sont dans \a checkpoint_infos.
96 */
97 virtual void readCheckpoint(const CheckpointInfo& checkpoint_info) =0;
98
99 /*!
100 * \brief Lit une protection par défaut
101 *
102 * Cette opération est collective.
103 *
104 * Dans l'implémentation par défaut, les informations pour la relecture
105 * sont stockées dans un fichier de nom 'checkpoint_info.xml' et qui se trouve
106 * dans le répertoire d'exportation du cas (ISubDomain::exportDirectory()).
107 *
108 * \deprecated A la place, utiliser le code suivants:
109 * \code
110 * ICheckpointMng* cm = ...;
111 * CheckpointInfo checkpoint_info = cm->readDefaultChekpointInfo();
112 * cm->readChekpoint(checkpoint_info);
113 * \endcode
114 */
115 virtual ARCANE_DEPRECATED_2018 void readDefaultCheckpoint() =0;
116
117 /*!
118 * \brief Lit les informations de protection par défaut.
119 *
120 * Cette opération est collective.
121 *
122 * Dans l'implémentation par défaut, les informations pour la relecture
123 * sont stockées dans un fichier de nom 'checkpoint_info.xml' et qui se trouve
124 * dans le répertoire d'exportation du cas (ISubDomain::exportDirectory()).
125 *
126 * Après lecture des informations, il est possible d'appeler
127 * readCheckpoint(const CheckpointInfo& checkpoint_info) pour lire la protection.
128 */
130
131 /*!
132 * \brief Écrit une protection par défaut avec l'écrivain \a writer.
133 *
134 * Cette opération est collective.
135 *
136 * \deprecated Utiliser writeDefaultCheckpoint() à la place.
137 */
138 ARCANE_DEPRECATED_122 virtual void writeCheckpoint(ICheckpointWriter* writer) =0;
139
140 /*!
141 * \brief Écrit une protection avec l'écrivain \a writer.
142 *
143 * Cette opération est collective.
144 *
145 * Les informations pour pouvoir le relire sont stockées dans le tableau
146 * \a infos passé en argument. Il est ensuite possible de relire une protection
147 * via readCheckpoint(ByteConstArrayView).
148 *
149 * L'implémentation par défaut stocke dans infos un fichier XML contenant en autre
150 * le nom du lecteur correspondant, le nombre de sous-domaines, ...
151 */
152 virtual void writeCheckpoint(ICheckpointWriter* writer,ByteArray& infos) =0;
153
154 /*!
155 * \brief Écrit une protection avec l'écrivain \a writer.
156 *
157 * Cette opération est collective.
158 *
159 * Il s'agit d'une protection classique qui pourra être relue via readDefaultCheckpoint().
160 *
161 * \sa readDefaultCheckpoint
162 */
164
165 /*!
166 * \brief Observable en écriture.
167 *
168 * Les observateurs enregistrés dans cet observable sont appelés
169 * avant d'écrire une protection.
170 */
172
173 /*!
174 * \brief Observable en lecture.
175 *
176 * Les observateurs enregistrés dans cet observable sont appelés
177 * après relecture complète d'une protection.
178 */
180
181 public:
182};
183
184/*---------------------------------------------------------------------------*/
185/*---------------------------------------------------------------------------*/
186
187ARCANE_END_NAMESPACE
188
189/*---------------------------------------------------------------------------*/
190/*---------------------------------------------------------------------------*/
191
192#endif
193
Informations sur une protection.
Interface du gestionnaire des informations des protections.
virtual IObservable * writeObservable()=0
Observable en écriture.
virtual ARCANE_DEPRECATED_2018 void readCheckpoint(ByteConstArrayView infos)=0
Lit une protection.
virtual ARCANE_DEPRECATED_122 void readCheckpoint()=0
Lit une protection.
virtual CheckpointInfo readCheckpointInfo(Span< const Byte > infos, const String &buf_name)=0
Lit les informations d'une protection.
virtual ARCANE_DEPRECATED_2018 void readDefaultCheckpoint()=0
Lit une protection par défaut.
virtual ARCANE_DEPRECATED_122 void writeCheckpoint(ICheckpointWriter *writer)=0
Écrit une protection par défaut avec l'écrivain writer.
virtual void readCheckpoint(const CheckpointInfo &checkpoint_info)=0
Lit une protection.
virtual void readCheckpoint(ICheckpointReader *reader)=0
Lit une protection.
virtual CheckpointInfo readDefaultCheckpointInfo()=0
Lit les informations de protection par défaut.
virtual IObservable * readObservable()=0
Observable en lecture.
virtual void writeDefaultCheckpoint(ICheckpointWriter *writer)=0
Écrit une protection avec l'écrivain writer.
virtual void writeCheckpoint(ICheckpointWriter *writer, ByteArray &infos)=0
Écrit une protection avec l'écrivain writer.
virtual ~ICheckpointMng()
Libère les ressources.
Interface du service de lecture d'une protection/reprise.
Interface du service d'écriture d'une protection/reprise.
Interface d'un observable.
Classe de base des vecteurs 1D de données.
Vue constante d'un tableau de type T.
Vue d'un tableau d'éléments de type T.
Definition Span.h:510
Chaîne de caractères unicode.