Ignore:
Timestamp:
10/26/15 17:05:07 (9 years ago)
Author:
rlacroix
Message:

Fix the buffer size estimation to avoid requests for unexpected buffers.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/trunk/src/node/grid.cpp

    r763 r764  
    143143     const size_t extraSize = CEventClient::headerSize + (id.empty() ? getId() : id).size() + 2 * sizeof(size_t); 
    144144 
    145      std::map<int, size_t>::const_iterator itb = connectedDataSize_.begin(), it, itE = connectedDataSize_.end(); 
    146      for (it = itb; it != itE; ++it) 
    147        dataSizes.insert(std::make_pair(it->first, extraSize + CArray<double,1>::size(it->second))); 
     145     std::map<int, size_t>::const_iterator itEnd = connectedDataSize_.end(); 
     146     for (size_t k = 0; k < connectedServerRank_.size(); ++k) 
     147     { 
     148       int rank = connectedServerRank_[k]; 
     149       std::map<int, size_t>::const_iterator it = connectedDataSize_.find(rank); 
     150       size_t count = (it != itEnd) ? it->second : 0; 
     151 
     152       dataSizes.insert(std::make_pair(rank, extraSize + CArray<double,1>::size(count))); 
     153     } 
    148154 
    149155     return dataSizes; 
Note: See TracChangeset for help on using the changeset viewer.