XIOS
1.0
Xml I/O Server
|
#include <server.hpp>
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 CEventScheduler * | eventScheduler = 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 |
Définition à la ligne 12 du fichier server.hpp.
|
static |
Close the error log file if it opens.
Définition à la ligne 951 du fichier server.cpp.
Références m_errorStream.
|
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().
|
static |
Définition à la ligne 842 du fichier server.cpp.
Références contextList.
Référencé par eventLoop(), et xios::CContextClient::getBuffers().
|
static |
Définition à la ligne 436 du fichier server.cpp.
Références xios::CEventScheduler::checkEvent(), contextEventLoop(), contextList, eventScheduler, finished, xios::CTimer::get(), isRoot, listenContext(), listenFinalize(), listenOasisEnddef(), listenRootContext(), listenRootFinalize(), listenRootOasisEnddef(), xios::CTimer::resume(), et xios::CTimer::suspend().
Référencé par xios::CXios::initServerSide().
|
static |
Définition à la ligne 402 du fichier server.cpp.
Références contextInterComms, contextIntraComms, eventScheduler, xios::CTimer::get(), xios::CTimer::getAllCumulatedTime(), xios::CTimer::getCumulatedTime(), interCommRight, intraComm, is_MPI_Initialized, xios::oasis_finalize(), xios::report, xios::CTimer::suspend(), et xios::CXios::usingOasis.
Référencé par xios::CXios::initServerSide().
|
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().
|
static |
Définition à la ligne 868 du fichier server.cpp.
Références sndServerGlobalRanks.
Référencé par xios::CXios::initServerSide().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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().
|
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.
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().
|
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().
|
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.
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().
|
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().
|
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.
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().
|
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().
|
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().
|
static |
Définition à la ligne 31 du fichier server.hpp.
Référencé par finalize(), et registerContext().
|
static |
Définition à la ligne 32 du fichier server.hpp.
Référencé par finalize(), et registerContext().
|
static |
Définition à la ligne 45 du fichier server.hpp.
Référencé par contextEventLoop(), eventLoop(), et registerContext().
|
static |
Définition à la ligne 33 du fichier server.hpp.
Référencé par eventLoop(), finalize(), initialize(), listenRootContext(), listenRootOasisEnddef(), et xios::CContextServer::processEvents().
|
static |
Définition à la ligne 46 du fichier server.hpp.
Référencé par eventLoop(), listenFinalize(), et listenRootFinalize().
|
static |
Définition à la ligne 29 du fichier server.hpp.
Référencé par initialize(), listenFinalize(), listenOasisEnddef(), et registerContext().
|
static |
Définition à la ligne 30 du fichier server.hpp.
Référencé par finalize(), initialize(), listenFinalize(), listenOasisEnddef(), et registerContext().
|
static |
Définition à la ligne 28 du fichier server.hpp.
Référencé par finalize(), getRank(), initialize(), xios::CXios::initServerSide(), listenFinalize(), listenOasisEnddef(), listenRootContext(), listenRootFinalize(), listenRootOasisEnddef(), recvContextMessage(), et registerContext().
|
static |
Définition à la ligne 47 du fichier server.hpp.
Référencé par finalize(), et initialize().
|
static |
Définition à la ligne 43 du fichier server.hpp.
Référencé par eventLoop(), et initialize().
|
staticprivate |
Définition à la ligne 75 du fichier server.hpp.
Référencé par closeErrorStream(), et openErrorStream().
|
staticprivate |
Définition à la ligne 74 du fichier server.hpp.
Référencé par closeInfoStream(), et openInfoStream().
|
staticprivate |
Number of contexts registered by server.
Définition à la ligne 73 du fichier server.hpp.
Référencé par listenRootContext().
|
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().
|
static |
Définition à la ligne 35 du fichier server.hpp.
Référencé par xios::CContextServer::CContextServer(), xios::CContext::checkBuffersAndListen(), xios::CFile::checkReadFile(), xios::CFile::checkWriteFile(), xios::CGrid::computeIndex(), xios::CContextClient::getBuffers(), xios::CContext::initClient(), initialize(), xios::CXios::initServerSide(), registerContext(), et xios::CContextClient::sendEvent().
|
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().