#ifndef __CONTEXT_SERVER_HPP__ #define __CONTEXT_CLIENT_HPP__ #include "xmlioserver_spl.hpp" #include "event_server.hpp" #include "buffer_server.hpp" #include namespace xmlioserver { namespace tree { class CContext ; } class CContextServer { public: CContextServer(tree::CContext* parent,MPI_Comm intraComm,MPI_Comm interComm) ; bool eventLoop(void) ; void listen(void) ; void checkPendingRequest(void) ; void processRequest(int rank, char* buff,int count) ; void processEvents(void) ; void dispatchEvent(CEventServer& event) ; void setPendingEvent(void) ; bool hasPendingEvent(void) ; MPI_Comm intraComm ; int intraCommSize ; int intraCommRank ; MPI_Comm interComm ; int commSize ; map buffers ; map pendingRequest ; map bufferRequest ; map events ; size_t currentTimeLine ; tree::CContext* context ; bool finished ; bool pendingEvent ; ~CContextServer() ; } ; } #endif