aboutsummaryrefslogtreecommitdiffstats
path: root/searchcore/src/vespa/searchcore/proton/reprocessing/i_reprocessing_rewriter.h
blob: d95b34013370e01b51368cbf655609c129edc258 (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
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.

#pragma once

#include <vespa/document/fieldvalue/document.h>

namespace proton {

/**
 * Interface for a reprocessor that rewrites a set of documents
 * based on the content of other underlying components.
 */
struct IReprocessingRewriter
{
    using SP = std::shared_ptr<IReprocessingRewriter>;

    virtual ~IReprocessingRewriter() {}

    /**
     * Handle and rewrite the given existing document.
     */
    virtual void handleExisting(uint32_t lid, const std::shared_ptr<document::Document> &doc) = 0;
};

} // namespace proton