Changeset 1201 for XIOS/dev/dev_olga/src/context_client.cpp
- Timestamp:
- 07/07/17 18:17:49 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/dev_olga/src/context_client.cpp
r1194 r1201 246 246 void CContextClient::newBuffer(int rank) 247 247 { 248 if (!mapBufferSize_.count(rank)) 249 { 250 // error(0) << "WARNING: Unexpected request for buffer to communicate with server " << rank << std::endl; 251 mapBufferSize_[rank] = CXios::minBufferSize; 252 } 253 CClientBuffer* buffer = buffers[rank] = new CClientBuffer(interComm, rank, mapBufferSize_[rank], maxBufferedEvents); 254 // Notify the server 255 CBufferOut* bufOut = buffer->getBuffer(sizeof(StdSize)); 256 bufOut->put(mapBufferSize_[rank]); // Stupid C++ 257 buffer->checkBuffer(); 248 if (!mapBufferSize_.count(rank)) 249 { 250 error(0) << "WARNING: Unexpected request for buffer to communicate with server " << rank << std::endl; 251 mapBufferSize_[rank] = CXios::minBufferSize; 252 maxEventSizes[rank] = CXios::minBufferSize; 253 } 254 CClientBuffer* buffer = buffers[rank] = new CClientBuffer(interComm, rank, mapBufferSize_[rank], maxEventSizes[rank], maxBufferedEvents); 255 // Notify the server 256 CBufferOut* bufOut = buffer->getBuffer(sizeof(StdSize)); 257 bufOut->put(mapBufferSize_[rank]); // Stupid C++ 258 buffer->checkBuffer(); 258 259 } 259 260 … … 304 305 { 305 306 mapBufferSize_ = mapSize; 307 maxEventSizes = maxEventSize; 306 308 307 309 // Compute the maximum number of events that can be safely buffered. … … 315 317 316 318 if (minBufferSizeEventSizeRatio < 1.0) 319 { 317 320 ERROR("void CContextClient::setBufferSize(const std::map<int,StdSize>& mapSize, const std::map<int,StdSize>& maxEventSize)", 318 321 << "The buffer sizes and the maximum events sizes are incoherent."); 322 } 323 else if (minBufferSizeEventSizeRatio == std::numeric_limits<double>::max()) 324 minBufferSizeEventSizeRatio = 1.0; // In this case, maxBufferedEvents will never be used but we want to avoid any floating point exception 319 325 320 326 maxBufferedEvents = size_t(2 * minBufferSizeEventSizeRatio) // there is room for two local buffers on the server
Note: See TracChangeset
for help on using the changeset viewer.