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
Référence de la classe xios::CServer

#include <server.hpp>

+ Graphe de collaboration de xios::CServer:

Classes

struct  contextMessage
 

Fonctions membres publiques statiques

static void initialize (void)
 Creates intraComm for each possible type of servers (classical, primary or secondary). Plus de détails...
 
static void finalize (void)
 
static void eventLoop (void)
 
static void contextEventLoop (bool enableEventsProcessing=true)
 
static void listenContext (void)
 
static void listenFinalize (void)
 
static void recvContextMessage (void *buff, int count)
 
static void listenRootContext (void)
 
static void listenRootFinalize (void)
 
static void listenRootOasisEnddef (void)
 Processes probes message from root process if oasis_enddef call must be done. Plus de détails...
 
static void listenOasisEnddef (void)
 Root process is listening for an order sent by client to call "oasis_enddef". Plus de détails...
 
static void registerContext (void *buff, int count, int leaderRank=0)
 
static int getRank ()
 Get rank of the current process in the intraComm. Plus de détails...
 
static vector< int > & getSecondaryServerGlobalRanks ()
 
static void openInfoStream (const StdString &fileName)
 Open a file stream to write the info logs. Plus de détails...
 
static void openInfoStream ()
 Write the info logs to standard output. Plus de détails...
 
static void closeInfoStream ()
 Close the info logs file if it opens. Plus de détails...
 
static void openErrorStream (const StdString &fileName)
 Open a file stream to write the error log. Plus de détails...
 
static void openErrorStream ()
 Write the error log to standard error output. Plus de détails...
 
static void closeErrorStream ()
 Close the error log file if it opens. Plus de détails...
 

Attributs publics statiques

static MPI_Comm intraComm
 
static std::list< MPI_Comm > interCommLeft
 
static std::list< MPI_Comm > interCommRight
 
static std::list< MPI_Comm > contextInterComms
 
static std::list< MPI_Comm > contextIntraComms
 
static CEventSchedulereventScheduler = 0
 
static int serverLevel = 0
 
static bool isRoot = false
 
static map< string, CContext * > contextList
 
static bool finished =false
 
static bool is_MPI_Initialized
 

Fonctions membres privées statiques

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. Plus de détails...
 

Attributs privés statiques

static vector< int > sndServerGlobalRanks
 Global ranks of pool leaders on the secondary server. Plus de détails...
 
static int rank_ = INVALID_RANK
 If (!oasis) global rank, else rank in the intraComm returned by oasis. Plus de détails...
 
static int nbContexts = 0
 Number of contexts registered by server. Plus de détails...
 
static StdOFStream m_infoStream
 
static StdOFStream m_errorStream
 

Description détaillée

Définition à la ligne 12 du fichier server.hpp.

Documentation des fonctions membres

void xios::CServer::closeErrorStream ( )
static

Close the error log file if it opens.

Définition à la ligne 951 du fichier server.cpp.

Références m_errorStream.

void xios::CServer::closeInfoStream ( )
static

Close the info logs file if it opens.

Définition à la ligne 925 du fichier server.cpp.

Références m_infoStream.

Référencé par xios::CXios::initServerSide().

+ Voici le graphe des appelants de cette fonction :

void xios::CServer::contextEventLoop ( bool  enableEventsProcessing = true)
static

Définition à la ligne 842 du fichier server.cpp.

Références contextList.

Référencé par eventLoop(), et xios::CContextClient::getBuffers().

+ Voici le graphe des appelants de cette fonction :

void xios::CServer::eventLoop ( void  )
static
void xios::CServer::finalize ( void  )
static
int xios::CServer::getRank ( )
static

Get rank of the current process in the intraComm.

Get global ranks of secondary server processes

Définition à la ligne 861 du fichier server.cpp.

Références intraComm.

Référencé par xios::CXios::initServerSide().

+ Voici le graphe des appelants de cette fonction :

vector< int > & xios::CServer::getSecondaryServerGlobalRanks ( )
static

Définition à la ligne 868 du fichier server.cpp.

Références sndServerGlobalRanks.

Référencé par xios::CXios::initServerSide().

+ Voici le graphe des appelants de cette fonction :

void xios::CServer::initialize ( void  )
static

Creates intraComm for each possible type of servers (classical, primary or secondary).

Creates interComm and stores them into the following lists: classical server – interCommLeft primary server – interCommLeft and interCommRight secondary server – interCommLeft for each pool. IMPORTANT: CXios::usingServer2 should NOT be used beyond this function. Use CServer::serverLevel instead.

Définition à la ligne 47 du fichier server.cpp.

Références xios::error, eventScheduler, xios::CTimer::get(), xios::CXios::globalComm, xios::info, interCommLeft, interCommRight, intraComm, is_MPI_Initialized, isRoot, xios::CXios::nbPoolsServer2, xios::oasis_enddef(), xios::oasis_get_intercomm(), xios::oasis_get_localcomm(), xios::oasis_init(), rank_, xios::CXios::ratioServer2, xios::CTimer::resume(), serverLevel, sndServerGlobalRanks, xios::splitRegex(), xios::CXios::usingOasis, xios::CXios::usingServer2, et xios::CXios::xiosCodeId.

Référencé par xios::CXios::initServerSide().

+ Voici le graphe d'appel pour cette fonction :

+ Voici le graphe des appelants de cette fonction :

void xios::CServer::listenContext ( void  )
static

Définition à la ligne 625 du fichier server.cpp.

Références xios::count, xios::CXios::globalComm, recvContextMessage(), xios::traceOff(), et xios::traceOn().

Référencé par eventLoop().

+ Voici le graphe d'appel pour cette fonction :

+ Voici le graphe des appelants de cette fonction :

void xios::CServer::listenFinalize ( void  )
static

Définition à la ligne 465 du fichier server.cpp.

Références finished, xios::info, interCommLeft, interCommRight, intraComm, xios::traceOff(), et xios::traceOn().

Référencé par eventLoop().

+ Voici le graphe d'appel pour cette fonction :

+ Voici le graphe des appelants de cette fonction :

void xios::CServer::listenOasisEnddef ( void  )
static

Root process is listening for an order sent by client to call "oasis_enddef".

The root client of a compound send the order (tag 5). It is probed and received. When the order has been received from each coumpound, the server root process ping the order to the root processes of the secondary levels of servers (if any). After, it also inform (asynchronous call) other processes of the communicator that the oasis_enddef call must be done

Définition à la ligne 533 du fichier server.cpp.

Références interCommLeft, interCommRight, intraComm, xios::traceOff(), et xios::traceOn().

Référencé par eventLoop().

+ Voici le graphe d'appel pour cette fonction :

+ Voici le graphe des appelants de cette fonction :

void xios::CServer::listenRootContext ( void  )
static

Définition à la ligne 717 du fichier server.cpp.

Références eventScheduler, intraComm, nbContexts, xios::CEventScheduler::queryEvent(), registerContext(), xios::CEventScheduler::registerEvent(), xios::traceOff(), et xios::traceOn().

Référencé par eventLoop().

+ Voici le graphe d'appel pour cette fonction :

+ Voici le graphe des appelants de cette fonction :

void xios::CServer::listenRootFinalize ( void  )
static

Définition à la ligne 509 du fichier server.cpp.

Références finished, intraComm, xios::traceOff(), et xios::traceOn().

Référencé par eventLoop().

+ Voici le graphe d'appel pour cette fonction :

+ Voici le graphe des appelants de cette fonction :

void xios::CServer::listenRootOasisEnddef ( void  )
static

Processes probes message from root process if oasis_enddef call must be done.

When the order is received it is scheduled to be treated in a synchronized way by all server processes of the communicator

Définition à la ligne 589 du fichier server.cpp.

Références eventScheduler, intraComm, xios::oasis_enddef(), xios::CEventScheduler::queryEvent(), xios::CEventScheduler::registerEvent(), xios::traceOff(), et xios::traceOn().

Référencé par eventLoop().

+ Voici le graphe d'appel pour cette fonction :

+ Voici le graphe des appelants de cette fonction :

void xios::CServer::openErrorStream ( const StdString fileName)
static

Open a file stream to write the error log.

Open a file stream to write the error log Open a file stream with a specific file name suffix+rank to write the error log.

Paramètres
fileName[in] protype file name

Définition à la ligne 936 du fichier server.cpp.

Références xios::error, m_errorStream, openStream(), et xios::CLog::write2File().

+ Voici le graphe d'appel pour cette fonction :

void xios::CServer::openErrorStream ( )
static

Write the error log to standard error output.

Définition à la ligne 945 du fichier server.cpp.

Références xios::error, et xios::CLog::write2StdErr().

Référencé par xios::CXios::initServerSide().

+ Voici le graphe d'appel pour cette fonction :

+ Voici le graphe des appelants de cette fonction :

void xios::CServer::openInfoStream ( const StdString fileName)
static

Open a file stream to write the info logs.

Open a file stream to write the info logs Open a file stream with a specific file name suffix+rank to write the info logs.

Paramètres
fileName[in] protype file name

Définition à la ligne 908 du fichier server.cpp.

Références xios::info, m_infoStream, openStream(), xios::report, et xios::CLog::write2File().

+ Voici le graphe d'appel pour cette fonction :

void xios::CServer::openInfoStream ( )
static

Write the info logs to standard output.

Définition à la ligne 918 du fichier server.cpp.

Références xios::info, xios::report, et xios::CLog::write2StdOut().

Référencé par xios::CXios::initServerSide().

+ Voici le graphe d'appel pour cette fonction :

+ Voici le graphe des appelants de cette fonction :

void xios::CServer::openStream ( const StdString fileName,
const StdString ext,
std::filebuf *  fb 
)
staticprivate

Open a file specified by a suffix and an extension and use it for the given file buffer.

The file name will be suffix+rank+extension.

Paramètres
fileName[in]protype file name
ext[in] extension of the file
fb[in/out] the file buffer

Définition à la ligne 881 du fichier server.cpp.

Références xios::ERROR, xios::CXios::globalComm, et rank_.

Référencé par openErrorStream(), et openInfoStream().

+ Voici le graphe des appelants de cette fonction :

void xios::CServer::recvContextMessage ( void *  buff,
int  count 
)
static

Définition à la ligne 666 du fichier server.cpp.

Références xios::CBufferOut::count(), intraComm, et xios::CMessage::size().

Référencé par listenContext().

+ Voici le graphe d'appel pour cette fonction :

+ Voici le graphe des appelants de cette fonction :

void xios::CServer::registerContext ( void *  buff,
int  count,
int  leaderRank = 0 
)
static

Définition à la ligne 769 du fichier server.cpp.

Références contextInterComms, contextIntraComms, contextList, xios::CBufferOut::count(), xios::CContext::create(), xios::ERROR, xios::CXios::globalComm, xios::info, xios::CContext::initClient(), xios::CContext::initServer(), interCommLeft, interCommRight, intraComm, rank_, serverLevel, et sndServerGlobalRanks.

Référencé par listenRootContext().

+ Voici le graphe d'appel pour cette fonction :

+ Voici le graphe des appelants de cette fonction :

Documentation des données membres

std::list< MPI_Comm > xios::CServer::contextInterComms
static

Définition à la ligne 31 du fichier server.hpp.

Référencé par finalize(), et registerContext().

std::list< MPI_Comm > xios::CServer::contextIntraComms
static

Définition à la ligne 32 du fichier server.hpp.

Référencé par finalize(), et registerContext().

map< string, CContext * > xios::CServer::contextList
static

Définition à la ligne 45 du fichier server.hpp.

Référencé par contextEventLoop(), eventLoop(), et registerContext().

CEventScheduler * xios::CServer::eventScheduler = 0
static
bool xios::CServer::finished =false
static

Définition à la ligne 46 du fichier server.hpp.

Référencé par eventLoop(), listenFinalize(), et listenRootFinalize().

std::list< MPI_Comm > xios::CServer::interCommLeft
static

Définition à la ligne 29 du fichier server.hpp.

Référencé par initialize(), listenFinalize(), listenOasisEnddef(), et registerContext().

std::list< MPI_Comm > xios::CServer::interCommRight
static

Définition à la ligne 30 du fichier server.hpp.

Référencé par finalize(), initialize(), listenFinalize(), listenOasisEnddef(), et registerContext().

bool xios::CServer::is_MPI_Initialized
static

Définition à la ligne 47 du fichier server.hpp.

Référencé par finalize(), et initialize().

bool xios::CServer::isRoot = false
static

Définition à la ligne 43 du fichier server.hpp.

Référencé par eventLoop(), et initialize().

StdOFStream xios::CServer::m_errorStream
staticprivate

Définition à la ligne 75 du fichier server.hpp.

Référencé par closeErrorStream(), et openErrorStream().

StdOFStream xios::CServer::m_infoStream
staticprivate

Définition à la ligne 74 du fichier server.hpp.

Référencé par closeInfoStream(), et openInfoStream().

int xios::CServer::nbContexts = 0
staticprivate

Number of contexts registered by server.

Définition à la ligne 73 du fichier server.hpp.

Référencé par listenRootContext().

int xios::CServer::rank_ = INVALID_RANK
staticprivate

If (!oasis) global rank, else rank in the intraComm returned by oasis.

Définition à la ligne 72 du fichier server.hpp.

Référencé par initialize(), openStream(), et registerContext().

vector< int > xios::CServer::sndServerGlobalRanks
staticprivate

Global ranks of pool leaders on the secondary server.

Définition à la ligne 71 du fichier server.hpp.

Référencé par getSecondaryServerGlobalRanks(), initialize(), et registerContext().


La documentation de cette classe a été générée à partir des fichiers suivants :