Changeset 595 for XIOS/trunk/src/context_client.hpp
- Timestamp:
- 05/26/15 16:13:46 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/src/context_client.hpp
r591 r595 10 10 namespace xios 11 11 { 12 class CContext 12 class CContext; 13 13 14 14 /*! … … 23 23 { 24 24 public: 25 // Contructor26 CContextClient(CContext* parent,MPI_Comm intraComm, MPI_Comm interComm, CContext* parentServer = 0);25 // Contructor 26 CContextClient(CContext* parent, MPI_Comm intraComm, MPI_Comm interComm, CContext* parentServer = 0); 27 27 28 // Send event to server29 void sendEvent(CEventClient& event);30 void waitEvent(list<int>& ranks);28 // Send event to server 29 void sendEvent(CEventClient& event); 30 void waitEvent(list<int>& ranks); 31 31 32 // Functions relates to set/get buffers33 list<CBufferOut*> getBuffers(list<int>& serverlist, list<int>& sizeList);34 void newBuffer(int rank);35 bool checkBuffers(list<int>& ranks);36 bool checkBuffers(void);37 void releaseBuffers(void);32 // Functions relates to set/get buffers 33 list<CBufferOut*> getBuffers(list<int>& serverlist, list<int>& sizeList); 34 void newBuffer(int rank); 35 bool checkBuffers(list<int>& ranks); 36 bool checkBuffers(void); 37 void releaseBuffers(void); 38 38 39 bool isServerLeader(void);40 int getServerLeader(void);39 bool isServerLeader(void) const; 40 const std::list<int>& getRanksServerLeader(void) const; 41 41 42 // Close and finalize context client43 void closeContext(void);44 void finalize(void);42 // Close and finalize context client 43 void closeContext(void); 44 void finalize(void); 45 45 46 void setBufferSize(const std::map<int,StdSize>& mapSize);47 void sendBufferSizeEvent();46 void setBufferSize(const std::map<int,StdSize>& mapSize); 47 void sendBufferSizeEvent(); 48 48 49 49 public: 50 CContext* context 50 CContext* context; //!< Context for client 51 51 52 size_t timeLine 52 size_t timeLine; //!< Timeline of each event 53 53 54 int clientRank 54 int clientRank; //!< Rank of current client 55 55 56 int clientSize 56 int clientSize; //!< Size of client group 57 57 58 int serverSize 58 int serverSize; //!< Size of server group 59 59 60 MPI_Comm interComm 60 MPI_Comm interComm; //!< Communicator of server group 61 61 62 MPI_Comm intraComm 62 MPI_Comm intraComm; //!< Communicator of client group 63 63 64 map<int,CClientBuffer*> buffers 64 map<int,CClientBuffer*> buffers; //!< Buffers for connection to servers 65 65 66 66 private: 67 67 //! Mapping of server and buffer size for each connection to server 68 std::map<int, 68 std::map<int,StdSize> mapBufferSize_; 69 69 70 70 //! Context for server (Only used in attached mode) 71 71 CContext* parentServer; 72 72 73 //! List of server ranks for which the client is leader 74 std::list<int> ranksServerLeader; 75 73 76 public: // Some function should be removed in the future 74 // void registerEvent(CEventClient& event) 75 // list<CBufferOut*> newEvent(CEventClient& event,list<int>& sizes) 76 // bool locked 77 // set<int> connectedServer 77 // void registerEvent(CEventClient& event); 78 // list<CBufferOut*> newEvent(CEventClient& event,list<int>& sizes); 79 // bool locked; 80 // set<int> connectedServer; 78 81 79 } 82 }; 80 83 } 81 84
Note: See TracChangeset
for help on using the changeset viewer.