Ignore:
Timestamp:
04/20/21 09:49:47 (3 years ago)
Author:
ymipsl
Message:

New management of client-server buffers.

  • buffers can grow automatically in intialization phase
  • buffers is evaluated after the close context definition phase and fixed at optimal value.

YM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/dev_ym/XIOS_COUPLING/src/buffer_client.hpp

    r1757 r2130  
    2929      void infoBuffer(void) ; 
    3030      bool isNotifiedFinalized(void) ; 
     31      void setGrowableBuffer(double growFactor) { growFactor_=growFactor ; isGrowableBuffer_=true ;} 
     32      void fixBufferSize(size_t bufferSize) { newBufferSize_=bufferSize ; isGrowableBuffer_=false ; resizingBufferStep_=1 ;} 
     33      void fixBuffer(void) { isGrowableBuffer_=false ;} 
    3134    private: 
     35       void resizeBuffer(size_t newSize) ; 
     36       void resizeBufferNotify(void) ; 
     37 
     38 
    3239      char* buffer[2]; 
    3340      char* bufferHeader[2]; 
     
    3845      bool winState[2] ; 
    3946      int current; 
     47       
     48      double growFactor_=1.2 ; 
     49      bool isGrowableBuffer_=true ; 
    4050 
     51      int resizingBufferStep_ = 0 ; 
     52      size_t newBufferSize_ ; 
    4153      StdSize count; 
    4254      StdSize maxEventSize; 
    43       const StdSize bufferSize; 
     55      StdSize bufferSize; 
    4456      const StdSize estimatedMaxEventSize; 
    4557 
Note: See TracChangeset for help on using the changeset viewer.