virtual void flush() { if (!flushdone) { out->flush(); offset_t end = out->getPosition(); writeidxofs(end); if (outidx) outidx->flush(); flushdone = true; } }
void putRow(const void *_row) { offset_t start = out->getPosition(); OwnedConstThorRow row = _row; out->putRow(row.getLink()); idx++; if (idx==interval) { idx = 0; if (overflowed||rowArray.isFull()) { overflowsize = out->getPosition(); if (!overflowed) { PROGLOG("Sample buffer full"); overflowed = true; } } else rowArray.append(row.getClear()); } writeidxofs(start); }
virtual offset_t getPosition() { return out->getPosition(); }