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
/// Statistics about a znode, similar to the UNIX `stat` structure.
///
/// # Time in ZooKeeper
/// The concept of time is tricky in distributed systems. ZooKeeper keeps track of time in a number
/// of ways.
///
/// - **zxid**: Every change to a ZooKeeper cluster receives a stamp in the form of a *zxid*
/// (ZooKeeper Transaction ID). This exposes the total ordering of all changes to ZooKeeper. Each
/// change will have a unique *zxid* -- if *zxid:a* is smaller than *zxid:b*, then the associated
/// change to *zxid:a* happened before *zxid:b*.
/// - **Version Numbers**: Every change to a znode will cause an increase to one of the version
/// numbers of that node.
/// - **Clock Time**: ZooKeeper does not use clock time to make decisions, but it uses it to put
/// timestamps into the `Stat` structure.