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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
// Copyright 2015-2018 Aerospike, Inc.
//
// Portions may be licensed to Aerospike, Inc. under one or more contributor
// license agreements.
//
// Licensed under the Apache License, Version 2.0 (the "License"); you may not
// use this file except in compliance with the License. You may obtain a copy of
// the License at http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
// License for the specific language governing permissions and limitations under
// the License.
const SERVER_DEFAULT: u32 = 0x0000_0000;
const DONT_RESET: u32 = 0xFFFF_FFFF; // -1 as i32
/// `ReadTouchTTLPercent` determines how record TTL (time to live) is affected on reads.
///
/// When enabled, the server can efficiently operate as a read-based LRU cache where the least
/// recently used records are expired. The value is expressed as a percentage of the TTL sent on
/// the most recent write such that a read within this interval of the record’s end of life will
/// generate a touch.
///
/// For example, if the most recent write had a TTL of 10 hours and `read_touch_ttl_percent` is set to
/// 80, the next read within 8 hours of the record's end of life (equivalent to 2 hours after the most
/// recent write) will result in a touch, resetting the TTL to another 10 hours.
/// Supported in server v8+.