source: XIOS/trunk/src/buffer_client.hpp @ 400

Last change on this file since 400 was 400, checked in by ymipsl, 11 years ago

implement some memory information

  • buffer memory size managment
  • out of memory managment

YM

File size: 751 bytes
Line 
1#ifndef __BUFFER_CLIENT_HPP__
2#define __BUFFER_CLIENT_HPP__
3
4#include "xmlioserver_spl.hpp"
5#include "buffer_out.hpp"
6#include "mpi.hpp"
7
8namespace xios
9{
10  extern size_t maxRequestSize ;
11 
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   
33    size_t bufferSizeByServer ;
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.