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
/// Upgrade Self to type `To`.
///
/// This trait is used to define types that can be directly upgraded from older versions of openraft
/// to newer versions. For example, `LogId` can be upgrade: in openraft 0.7, `LogId` is `(term,
/// index)`, which is upgraded to `(CommittedLeaderId, index)` in openraft 0.8.
/// `Compat` is a serialization compatible type that can be deserialized from both an older type
/// and a newer type. It serves as an intermediate type container for newer programs to read old
/// data.
/// A compatible type can be upgraded to `To` if `From` can be upgraded to `To`.