source:
vendors/XIOS/current/src/context_server.hpp
@
4990
Last change on this file since 4990 was 3428, checked in by rblod, 12 years ago | |
---|---|
File size: 1.0 KB |
Line | |
---|---|
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.