Ignore:
Timestamp:
07/10/17 18:17:04 (7 years ago)
Author:
yushan
Message:

branch merged with trunk @1200

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/branch_yushan_merged/src/buffer_client.cpp

    r1179 r1205  
    1212  size_t CClientBuffer::maxRequestSize = 0; 
    1313 
    14   CClientBuffer::CClientBuffer(MPI_Comm interComm, int serverRank, StdSize bufferSize, StdSize maxBufferedEvents) 
     14  CClientBuffer::CClientBuffer(MPI_Comm interComm, int serverRank, StdSize bufferSize, StdSize estimatedMaxEventSize, StdSize maxBufferedEvents) 
    1515    : interComm(interComm) 
    1616    , serverRank(serverRank) 
    1717    , bufferSize(bufferSize) 
     18    , estimatedMaxEventSize(estimatedMaxEventSize) 
     19    , maxEventSize(0) 
    1820    , current(0) 
    1921    , count(0) 
     
    4345  bool CClientBuffer::isBufferFree(int size) 
    4446  { 
    45     if (size > maxRequestSize) maxRequestSize = size; 
    46  
    4747    if (size > bufferSize) 
    4848      ERROR("bool CClientBuffer::isBufferFree(int size)", 
    4949            << "The requested size (" << size << " bytes) is too big to fit the buffer (" << bufferSize << " bytes), please increase the client buffer size." << endl); 
     50 
     51    if (size > maxEventSize) 
     52    { 
     53      maxEventSize = size; 
     54 
     55      if (size > estimatedMaxEventSize) 
     56        error(0) << "WARNING: Unexpected event of size " << size << " for server " << serverRank 
     57                 << " (estimated max event size = " << estimatedMaxEventSize << ")" << std::endl; 
     58 
     59      if (size > maxRequestSize) maxRequestSize = size; 
     60    } 
     61 
    5062 
    5163    return (size <= remain() && bufferedEvents < maxBufferedEvents); 
Note: See TracChangeset for help on using the changeset viewer.