Changeset 1853 for XIOS/dev/dev_ym/XIOS_COUPLING/src/node/grid.cpp
- Timestamp:
- 01/20/20 17:55:12 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/dev_ym/XIOS_COUPLING/src/node/grid.cpp
r1847 r1853 331 331 { 332 332 CContext* context = CContext::getCurrent(); 333 if (context->hasClient && this->isChecked && doSendingIndex && !isIndexSent) 334 { 335 if (isScalarGrid()) sendIndexScalarGrid(); 336 else sendIndex(); 337 this->isIndexSent = true; 333 if (context->getServiceType()==CServicesManager::CLIENT || context->getServiceType()==CServicesManager::GATHERER) 334 { 335 if (this->isChecked && doSendingIndex && !isIndexSent) 336 { 337 if (isScalarGrid()) sendIndexScalarGrid(); 338 else sendIndex(); 339 this->isIndexSent = true; 340 } 338 341 } 339 342 … … 726 729 } 727 730 728 if ( doGridHaveDataDistributed(client) && (nbIndex != localIndex.numElements()))731 if (nbIndex != localIndex.numElements()) 729 732 ERROR("void CGrid::computeClientIndex()", 730 733 << "Number of local index on client is different from number of received global index" … … 892 895 { 893 896 computeClientIndexScalarGrid(); 894 if (context-> hasClient)897 if (context->getServiceType()==CServicesManager::CLIENT || context->getServiceType()==CServicesManager::GATHERER) 895 898 { 896 899 computeConnectedClientsScalarGrid(); … … 900 903 { 901 904 computeClientIndex(); 902 if (context-> hasClient)905 if (context->getServiceType()==CServicesManager::CLIENT || context->getServiceType()==CServicesManager::GATHERER) 903 906 { 904 907 computeConnectedClients(); … … 1474 1477 } 1475 1478 1476 if (context-> hasClient && !context->hasServer)1479 if (context->getServiceType()==CServicesManager::CLIENT) 1477 1480 storeIndex_fromSrv_.insert(std::make_pair(rank, CArray<int,1>(outLocalIndexToServer))); 1478 1481 … … 1497 1500 } 1498 1501 1499 if (context-> hasClient && !context->hasServer)1502 if (context->getServiceType()==CServicesManager::CLIENT) 1500 1503 storeIndex_fromSrv_.insert(std::make_pair(rank, CArray<int,1>(outLocalIndexToServer))); 1501 1504 } … … 1544 1547 { 1545 1548 storeIndex_toSrv_[client].insert(std::make_pair(*itRank, CArray<int,1>(outLocalIndexToServer))); 1546 if (context-> hasClient && !context->hasServer)1549 if (context->getServiceType()==CServicesManager::CLIENT) 1547 1550 storeIndex_fromSrv_.insert(std::make_pair(*itRank, CArray<int,1>(outLocalIndexToServer))); 1548 1551 … … 1644 1647 buffers.push_back(buffer); 1645 1648 } 1646 get(gridId)->recvIndex(ranks, buffers );1649 get(gridId)->recvIndex(ranks, buffers, event.getContextServer()); 1647 1650 } 1648 1651 CATCH 1649 1652 1650 void CGrid::recvIndex(vector<int> ranks, vector<CBufferIn*> buffers )1653 void CGrid::recvIndex(vector<int> ranks, vector<CBufferIn*> buffers, CContextServer* server) 1651 1654 TRY 1652 1655 { … … 1655 1658 1656 1659 nbReadSenders_.clear(); 1657 CContextServer* server = context->server ; 1658 CContextClient* client = context->client; 1660 CContextClient* client = server->getAssociatedClient(); 1659 1661 1660 1662 int idx = 0, numElement = axis_domain_order.numElements(); … … 1811 1813 if (isScalarGrid()) return; 1812 1814 1813 nbReadSenders_[client] = CClientServerMappingDistributed::computeConnectedClients(context->client->serverSize, context->client->clientSize, context->client->intraComm, ranks); 1815 nbReadSenders_[client] = CClientServerMappingDistributed::computeConnectedClients(client->serverSize, client->clientSize, 1816 client->intraComm, ranks); 1814 1817 1815 1818 } … … 2222 2225 { 2223 2226 CDomain* pDom = CDomain::get(*it); 2224 if (context-> hasClient && !context->hasServer)2227 if (context->getServiceType()==CServicesManager::CLIENT) 2225 2228 { 2226 2229 pDom->solveRefInheritance(apply); … … 2234 2237 { 2235 2238 CAxis* pAxis = CAxis::get(*it); 2236 if (context-> hasClient && !context->hasServer)2239 if (context->getServiceType()==CServicesManager::CLIENT) 2237 2240 { 2238 2241 pAxis->solveRefInheritance(apply); … … 2246 2249 { 2247 2250 CScalar* pScalar = CScalar::get(*it); 2248 if (context-> hasClient && !context->hasServer)2251 if (context->getServiceType()==CServicesManager::CLIENT) 2249 2252 { 2250 2253 pScalar->solveRefInheritance(apply);
Note: See TracChangeset
for help on using the changeset viewer.