Changeset 179 for XMLIO_V2/dev/dev_rv/src/xmlio/manager
- Timestamp:
- 04/18/11 17:02:22 (13 years ago)
- Location:
- XMLIO_V2/dev/dev_rv/src/xmlio/manager
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
XMLIO_V2/dev/dev_rv/src/xmlio/manager/mpi_manager.cpp
r177 r179 206 206 if (error != mpi_success) 207 207 ERROR("CMPIManager::Receive (comm, src_rank, data)", << " MPI Error !"); 208 CMPIManager::Wait (req); 208 CMPIManager::Wait (req); // Temporaire 209 209 } 210 210 -
XMLIO_V2/dev/dev_rv/src/xmlio/manager/tree_manager.cpp
r175 r179 158 158 } 159 159 160 void CTreeManager::FromBinary(StdString & str) 161 { 162 StdIStringStream istrs(str); 163 CTreeManager::FromBinary(istrs); 164 } 165 166 160 167 //-------------------------------------------------------------- 161 168 … … 307 314 } 308 315 } 316 317 void CTreeManager::DomainsFromBinary(StdString & str) 318 { 319 StdIStringStream istrs(str); 320 CTreeManager::DomainsFromBinary(istrs); 321 } 309 322 310 323 ///------------------------------------------------------------- -
XMLIO_V2/dev/dev_rv/src/xmlio/manager/tree_manager.hpp
r175 r179 37 37 static void ToBinary (StdOStream & os); 38 38 static void FromBinary(StdIStream & is); 39 static void FromBinary(StdString & str); 39 40 40 41 static void DomainsToBinary (StdOStream & os); 41 42 static void DomainsFromBinary(StdIStream & is); 43 static void DomainsFromBinary(StdString & str); 42 44 43 45 }; // class CTreeManager -
XMLIO_V2/dev/dev_rv/src/xmlio/manager/xios_manager.cpp
r178 r179 1 1 #include "xios_manager.hpp" 2 3 #include "tree_manager.hpp" 2 4 3 5 namespace xmlioserver … … 44 46 (StdString clientName, comm::MPIComm comm_client_server, comm::MPIComm comm_server) 45 47 { 46 48 using namespace comm; 49 50 // Reconstruction de l'arborescence d'objet à l'aide des données envoyées par chacun des 51 // clients associés à ce serveur. 52 std::vector<boost::shared_ptr<CLinearBuffer> > clientBuffer; 53 for (int i = 1; i < CMPIManager::GetCommSize(comm_client_server); i++) 54 { 55 while (!CMPIManager::HasReceivedData(comm_client_server, i)){} 56 clientBuffer.push_back(CMPIManager::ReceiveLinearBuffer(comm_client_server, i)); 57 } 58 59 // La quasi-totalité de l'arborescence est obtenue depuis les informations 60 // fournies par le client 1 du sous-groupe. 61 StdString main_data_tree = clientBuffer[0]->getString(0); 62 tree::CTreeManager::FromBinary(main_data_tree); 63 64 // Obtention des sous-domaines clients. 65 for (int j = 1; j < clientBuffer.size(); j++) 66 { 67 main_data_tree = clientBuffer[j]->getString(0); 68 tree::CTreeManager::DomainsFromBinary(main_data_tree); 69 } 70 71 StdOStringStream oss; 72 oss << StdString("data/def/def_server_end.") 73 << CMPIManager::GetCommRank(CMPIManager::GetCommWorld()); 74 CTreeManager::PrintTreeToFile(oss.str()); 47 75 } 48 76
Note: See TracChangeset
for help on using the changeset viewer.