XIOS  1.0
Xml I/O Server
 Tout Classes Espaces de nommage Fichiers Fonctions Variables Définitions de type Énumérations Valeurs énumérées Amis Macros
client.hpp
Aller à la documentation de ce fichier.
1 #ifndef __CLIENT_HPP__
2 #define __CLIENT_HPP__
3 
4 #include "xios_spl.hpp"
5 #include "mpi.hpp"
6 
7 namespace xios
8 {
9  class CClient
10  {
11  public:
12  static void initialize(const string& codeId, MPI_Comm& localComm, MPI_Comm& returnComm);
13  static void finalize(void);
14  static void registerContext(const string& id, MPI_Comm contextComm);
15  static void callOasisEnddef(void) ;
16 
17  static MPI_Comm intraComm;
18  static MPI_Comm interComm;
19  static std::list<MPI_Comm> contextInterComms;
20  static int serverLeader;
21  static bool is_MPI_Initialized ;
22 
23  static MPI_Comm& getInterComm();
24 
26  static int getRank();
27 
29  static void openInfoStream(const StdString& fileName);
31  static void openInfoStream();
33  static void closeInfoStream();
34 
36  static void openErrorStream(const StdString& fileName);
38  static void openErrorStream();
40  static void closeErrorStream();
41 
42  protected:
43  static int rank_;
46 
47  static void openStream(const StdString& fileName, const StdString& ext, std::filebuf* fb);
48  };
49 }
50 
51 #endif
std::ofstream StdOFStream
Definition: xios_spl.hpp:44
static StdOFStream m_infoStream
Definition: client.hpp:44
static void initialize(const string &codeId, MPI_Comm &localComm, MPI_Comm &returnComm)
Definition: client.cpp:37
static void openErrorStream()
Write the error log to standard error output.
Definition: client.cpp:392
static std::list< MPI_Comm > contextInterComms
Definition: client.hpp:19
static void registerContext(const string &id, MPI_Comm contextComm)
Definition: client.cpp:170
static void closeErrorStream()
Close the error log file if it opens.
Definition: client.cpp:398
std::string StdString
Definition: xios_spl.hpp:48
#define xios(arg)
static MPI_Comm & getInterComm()
Definition: client.cpp:26
static void openStream(const StdString &fileName, const StdString &ext, std::filebuf *fb)
Open a file specified by a suffix and an extension and use it for the given file buffer.
Definition: client.cpp:321
static int serverLeader
Definition: client.hpp:20
static void openInfoStream()
Write the info logs to standard output.
Definition: client.cpp:365
static int getRank()
Get global rank without oasis and current rank in model intraComm in case of oasis.
Definition: client.cpp:308
static void finalize(void)
Definition: client.cpp:263
static MPI_Comm interComm
Definition: client.hpp:18
static void callOasisEnddef(void)
Send the order to the servers to call &quot;oasis_enddef&quot;.
Definition: client.cpp:238
static MPI_Comm intraComm
Definition: client.hpp:17
static bool is_MPI_Initialized
Definition: client.hpp:21
static void closeInfoStream()
Close the info logs file if it opens.
Definition: client.cpp:372
static int rank_
Rank in model intraComm.
Definition: client.hpp:43
static StdOFStream m_errorStream
Definition: client.hpp:45