bool getBuffer(std::pair < char const *, ssize_t > & data) { if ( ! (reader.get()) ) return false; if ( reader->getBuffer(data) ) return true; if ( ita != ite ) { while ( ++ita != ite ) { reader.reset(); reader = UNIQUE_PTR_MOVE(reader_ptr_type(new AsynchronousBufferReader(*ita,numbuffers,bufsize,0))); if ( reader->getBuffer(data) ) return true; } } return false; }
/** * return the last block obtained via getBuffer **/ void returnBuffer() { if ( reader.get() ) reader->returnBuffer(); }
/** * destructor **/ ~AsynchronousBufferReaderList() { if ( reader.get() ) reader->flush(); }