source:
vendors/XIOS/current/src/context_server.hpp
@
5712
Last change on this file since 5712 was 3428, checked in by rblod, 12 years ago | |
---|---|
File size: 1.0 KB |
Rev | Line | |
---|---|---|
[3428] | 1 | #ifndef __CONTEXT_SERVER_HPP__ |
2 | #define __CONTEXT_SERVER_HPP__ | |
3 | #include "xmlioserver_spl.hpp" | |
4 | #include "event_server.hpp" | |
5 | #include "buffer_server.hpp" | |
6 | #include <mpi.h> | |
7 | ||
8 | namespace xios | |
9 | { | |
10 | class CContext ; | |
11 | ||
12 | class CContextServer | |
13 | { | |
14 | public: | |
15 | ||
16 | CContextServer(CContext* parent,MPI_Comm intraComm,MPI_Comm interComm) ; | |
17 | bool eventLoop(void) ; | |
18 | void listen(void) ; | |
19 | void checkPendingRequest(void) ; | |
20 | void processRequest(int rank, char* buff,int count) ; | |
21 | void processEvents(void) ; | |
22 | void dispatchEvent(CEventServer& event) ; | |
23 | void setPendingEvent(void) ; | |
24 | bool hasPendingEvent(void) ; | |
25 | ||
26 | MPI_Comm intraComm ; | |
27 | int intraCommSize ; | |
28 | int intraCommRank ; | |
29 | ||
30 | MPI_Comm interComm ; | |
31 | int commSize ; | |
32 | ||
33 | map<int,CServerBuffer*> buffers ; | |
34 | map<int,MPI_Request> pendingRequest ; | |
35 | map<int,char*> bufferRequest ; | |
36 | ||
37 | map<size_t,CEventServer*> events ; | |
38 | size_t currentTimeLine ; | |
39 | CContext* context ; | |
40 | ||
41 | bool finished ; | |
42 | bool pendingEvent ; | |
43 | ~CContextServer() ; | |
44 | } ; | |
45 | ||
46 | } | |
47 | ||
48 | #endif |
Note: See TracBrowser
for help on using the repository browser.