Changeset 1757 for XIOS/dev/dev_ym/XIOS_ONE_SIDED/src/buffer_client.hpp
- Timestamp:
- 10/18/19 14:55:57 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/dev_ym/XIOS_ONE_SIDED/src/buffer_client.hpp
r1639 r1757 14 14 static size_t maxRequestSize; 15 15 16 CClientBuffer(MPI_Comm intercomm, int serverRank, StdSize bufferSize, StdSize estimatedMaxEventSize, StdSize maxBufferedEvents);16 CClientBuffer(MPI_Comm intercomm, vector<MPI_Win>& windows, int clientRank, int serverRank, StdSize bufferSize, StdSize estimatedMaxEventSize); 17 17 ~CClientBuffer(); 18 18 // void createWindows(MPI_Comm oneSidedComm) ; 19 void freeWindows(void) ; 20 void lockBuffer(void) ; 21 void unlockBuffer(void) ; 22 19 23 bool isBufferFree(StdSize size); 20 CBufferOut* getBuffer( StdSize size);21 bool checkBuffer( void);24 CBufferOut* getBuffer(size_t timeLine, StdSize size); 25 bool checkBuffer(bool send=false); 22 26 bool hasPendingRequest(void); 23 27 StdSize remain(void); 24 28 MPI_Aint getWinAddress(int numWindows) ; 29 void infoBuffer(void) ; 30 bool isNotifiedFinalized(void) ; 25 31 private: 26 32 char* buffer[2]; 27 33 char* bufferHeader[2]; 34 size_t* firstTimeLine[2] ; 35 size_t* bufferCount[2] ; 36 size_t* control[2] ; 37 size_t* finalize[2] ; 38 bool winState[2] ; 28 39 int current; 29 40 30 41 StdSize count; 31 StdSize bufferedEvents;32 42 StdSize maxEventSize; 33 const StdSize maxBufferedEvents;34 43 const StdSize bufferSize; 35 44 const StdSize estimatedMaxEventSize; … … 37 46 38 47 const int serverRank; 48 const int clientRank_; 39 49 bool pending; 40 50 … … 43 53 CBufferOut* retBuffer; 44 54 const MPI_Comm interComm; 55 std::vector<MPI_Win> windows_ ; 56 bool hasWindows ; 57 static const int headerSize=4*sizeof(size_t); 45 58 }; 46 59 }
Note: See TracChangeset
for help on using the changeset viewer.