blob: 038349df9a59a5350689658d52201081aee788c8 (
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
28
29
30
31
32
33
34
|
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
#include "serialnum.h"
namespace search {
/**
* Class used to carry commit parameters.
*/
class CommitParam
{
public:
enum class UpdateStats { SKIP, FORCE};
CommitParam(SerialNum serialNum) noexcept : CommitParam(serialNum, UpdateStats::SKIP) {}
CommitParam(SerialNum serialNum, UpdateStats updateStats) noexcept : CommitParam(serialNum, serialNum, updateStats) {}
CommitParam(SerialNum firstSerialNum, SerialNum lastSerialNum, UpdateStats updateStats) noexcept
: _firstSerialNum(firstSerialNum),
_lastSerialNum(lastSerialNum),
_updateStats(updateStats)
{}
bool forceUpdateStats() const { return _updateStats == UpdateStats::FORCE; }
SerialNum firstSerialNum() const { return _firstSerialNum; }
SerialNum lastSerialNum() const { return _lastSerialNum; }
private:
const SerialNum _firstSerialNum;
const SerialNum _lastSerialNum;
const UpdateStats _updateStats;
};
}
|