Last change
on this file since 421 was
400,
checked in by ymipsl, 12 years ago
|
implement some memory information
- buffer memory size managment
- out of memory managment
YM
|
File size:
751 bytes
|
Rev | Line | |
---|
[300] | 1 | #ifndef __BUFFER_CLIENT_HPP__ |
---|
| 2 | #define __BUFFER_CLIENT_HPP__ |
---|
| 3 | |
---|
| 4 | #include "xmlioserver_spl.hpp" |
---|
| 5 | #include "buffer_out.hpp" |
---|
[382] | 6 | #include "mpi.hpp" |
---|
[300] | 7 | |
---|
[335] | 8 | namespace xios |
---|
[300] | 9 | { |
---|
[400] | 10 | extern size_t maxRequestSize ; |
---|
| 11 | |
---|
[300] | 12 | class CClientBuffer |
---|
| 13 | { |
---|
| 14 | |
---|
| 15 | public: |
---|
| 16 | |
---|
| 17 | CClientBuffer(MPI_Comm intercomm,int serverRank) ; |
---|
| 18 | ~CClientBuffer() ; |
---|
| 19 | bool isBufferFree(int size) ; |
---|
| 20 | CBufferOut* getBuffer(int size) ; |
---|
| 21 | bool checkBuffer(void) ; |
---|
| 22 | bool hasPendingRequest(void) ; |
---|
| 23 | |
---|
| 24 | char* buffer[2] ; |
---|
| 25 | int remain(void) ; |
---|
| 26 | |
---|
| 27 | int current ; |
---|
| 28 | int count ; |
---|
| 29 | int bufferSize ; |
---|
| 30 | int serverRank ; |
---|
| 31 | bool pending ; |
---|
| 32 | |
---|
[317] | 33 | size_t bufferSizeByServer ; |
---|
[300] | 34 | |
---|
| 35 | MPI_Request request ; |
---|
| 36 | |
---|
| 37 | CBufferOut* retBuffer; |
---|
| 38 | MPI_Comm interComm ; |
---|
| 39 | } ; |
---|
| 40 | |
---|
| 41 | } |
---|
| 42 | |
---|
| 43 | #endif |
---|
| 44 | |
---|
Note: See
TracBrowser
for help on using the repository browser.