Arcane  v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
CheckpointService.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/* CheckpointService.h (C) 2000-2018 */
9/* */
10/* Service de protection/reprise. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CHECKPOINTSERVICE_H
13#define ARCANE_CHECKPOINTSERVICE_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arcane/utils/String.h"
18#include "arcane/utils/Array.h"
19
20#include "arcane/BasicService.h"
21#include "arcane/ICheckpointReader.h"
22#include "arcane/ICheckpointWriter.h"
23
24/*---------------------------------------------------------------------------*/
25/*---------------------------------------------------------------------------*/
26
27ARCANE_BEGIN_NAMESPACE
28
29/*---------------------------------------------------------------------------*/
30/*---------------------------------------------------------------------------*/
31
32class ISubDomain;
33class VersionInfo;
34class ServiceBuildInfo;
35
36/*---------------------------------------------------------------------------*/
37/*---------------------------------------------------------------------------*/
38/*!
39 * \internal
40 * \brief Service de protection/reprise.
41 */
42class ARCANE_CORE_EXPORT CheckpointService
43: public BasicService
44, public ICheckpointWriter
45, public ICheckpointReader
46{
47 public:
48 class Impl;
49 public:
50
52
53 public:
54
55 virtual void build() {}
56
57 public:
58
59 virtual void setFileName(const String& file_name){ m_file_name = file_name; }
60 virtual String fileName() const { return m_file_name; }
61 virtual void setCheckpointTimes(RealConstArrayView times);
62 virtual void setCurrentTimeAndIndex(Real current_time,Integer current_index);
63
64 RealConstArrayView checkpointTimes() const { return m_checkpoint_times; }
65 Integer currentIndex() const { return m_current_index; }
66 Real currentTime() const { return m_current_time; }
67 //! Méta données pour le lecteur associé à cet écrivain
68 virtual String readerMetaData() const { return m_reader_meta_data; }
69 virtual void setReaderMetaData(const String& s) { m_reader_meta_data = s; }
70 virtual void setBaseDirectoryName(const String& dirname)
71 {
72 m_base_directory_name = dirname;
73 }
74 virtual String baseDirectoryName() const
75 {
76 return m_base_directory_name;
77 }
78
79 public:
80
81 private:
82
83 String m_file_name;
84 UniqueArray<Real> m_checkpoint_times;
85 Real m_current_time;
86 Integer m_current_index;
87 String m_reader_meta_data;
88 String m_base_directory_name;
89};
90
91/*---------------------------------------------------------------------------*/
92/*---------------------------------------------------------------------------*/
93
94ARCANE_END_NAMESPACE
95
96/*---------------------------------------------------------------------------*/
97/*---------------------------------------------------------------------------*/
98
99#endif
100
Classe de base de service lié à un sous-domaine.
virtual void build()
Construction de niveau build du service.
virtual void setReaderMetaData(const String &s)
Méta données associées à ce lecteur.
virtual void setFileName(const String &file_name)
Positionne le nom du fichier de la protection.
virtual String fileName() const
Nom du fichier de la protection.
RealConstArrayView checkpointTimes() const
Temps des protections.
virtual String baseDirectoryName() const
Nom du répertoire de base de la protection.
virtual void setBaseDirectoryName(const String &dirname)
Positionne le nom du répertoire de base de la protection.
virtual String readerMetaData() const
Méta données pour le lecteur associé à cet écrivain.
Interface du service de lecture d'une protection/reprise.
virtual void setCurrentTimeAndIndex(Real current_time, Integer current_index)=0
Positionne le temps et l'indice de la protection à lire.
Interface du service d'écriture d'une protection/reprise.
virtual void setCheckpointTimes(RealConstArrayView times)=0
Positionne les temps des protections.
Structure contenant les informations pour créer un service.
Vue constante d'un tableau de type T.
Chaîne de caractères unicode.
Vecteur 1D de données avec sémantique par valeur (style STL).