aboutsummaryrefslogtreecommitdiffstats
path: root/searchlib/src/vespa/searchlib/attribute/attributememoryfilebufferwriter.cpp
blob: a09b709a66d3ad3874381f55b0f6e3ca2bdeb01b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.

#include "attributememoryfilebufferwriter.h"
#include <vespa/vespalib/data/databuffer.h>

namespace search {

AttributeMemoryFileBufferWriter::
AttributeMemoryFileBufferWriter(IAttributeFileWriter &memoryFileWriter)
    : AttributeFileBufferWriter(memoryFileWriter)
{
}


AttributeMemoryFileBufferWriter::~AttributeMemoryFileBufferWriter() = default;


void
AttributeMemoryFileBufferWriter::onFlush(size_t nowLen)
{
    _buf->moveFreeToData(nowLen);
    assert(_buf->getDataLen() == nowLen);
    _fileWriter.writeBuf(std::move(_buf));
    _buf = _fileWriter.allocBuf(BUFFER_SIZE);
}

} // namespace search