#include "xios_spl.hpp" #include "exception.hpp" #include "buffer_server.hpp" namespace xios { CServerBuffer::CServerBuffer(StdSize buffSize) { size = 3 * buffSize; first = 0; current = 1; end = size; buffer = new char[size]; // use MPI_ALLOC_MEM later? } CServerBuffer::~CServerBuffer() { delete [] buffer ; } bool CServerBuffer::isBufferFree(size_t count) { bool ret ; if (count==0) return true ; if (current>first) { if (current+count0) { ret=true ; } else { ret=false ; } } else { if (countfirst) { if (current+count0) { ret=buffer+current ; current=0 ; } else { ERROR("void* CServerBuffer::getBuffer(size_t count)", <<"cannot allocate required size in buffer") ; } } else { end=current ; if (count