blob: 069d32bb4817f8a5ce6202d13822918643d1c5de (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once
namespace vespalib::datastore {
/**
* Interface for moving an entry as part of compaction of data in old
* buffers into new buffers.
*
* Old entry is unchanged and not placed on any hold lists since we
* expect the old buffers to be freed soon anyway.
*/
struct ICompactable {
virtual ~ICompactable() = default;
virtual EntryRef move(EntryRef ref) = 0;
};
}
|