Ignore:
Timestamp:
04/18/11 17:02:22 (13 years ago)
Author:
hozdoba
Message:
 
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  
    206206         if (error != mpi_success) 
    207207            ERROR("CMPIManager::Receive (comm, src_rank, data)", << " MPI Error !"); 
    208          CMPIManager::Wait (req); 
     208         CMPIManager::Wait (req); // Temporaire 
    209209      } 
    210210 
  • XMLIO_V2/dev/dev_rv/src/xmlio/manager/tree_manager.cpp

    r175 r179  
    158158      } 
    159159       
     160      void CTreeManager::FromBinary(StdString & str) 
     161      { 
     162         StdIStringStream istrs(str); 
     163         CTreeManager::FromBinary(istrs); 
     164      } 
     165             
     166 
    160167      //-------------------------------------------------------------- 
    161168       
     
    307314         } 
    308315      } 
     316       
     317      void CTreeManager::DomainsFromBinary(StdString & str) 
     318      { 
     319         StdIStringStream istrs(str); 
     320         CTreeManager::DomainsFromBinary(istrs); 
     321      } 
    309322 
    310323      ///------------------------------------------------------------- 
  • XMLIO_V2/dev/dev_rv/src/xmlio/manager/tree_manager.hpp

    r175 r179  
    3737            static void ToBinary  (StdOStream & os); 
    3838            static void FromBinary(StdIStream & is); 
     39            static void FromBinary(StdString & str); 
    3940             
    4041            static void DomainsToBinary  (StdOStream & os); 
    4142            static void DomainsFromBinary(StdIStream & is); 
     43            static void DomainsFromBinary(StdString & str); 
    4244 
    4345      }; // class CTreeManager 
  • XMLIO_V2/dev/dev_rv/src/xmlio/manager/xios_manager.cpp

    r178 r179  
    11#include "xios_manager.hpp" 
     2 
     3#include "tree_manager.hpp" 
    24 
    35namespace xmlioserver 
     
    4446         (StdString clientName, comm::MPIComm comm_client_server, comm::MPIComm comm_server) 
    4547      { 
    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());          
    4775      } 
    4876       
Note: See TracChangeset for help on using the changeset viewer.