...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 package buckets
16
17 import (
18 "bytes"
19
20 "go.etcd.io/etcd/server/v3/mvcc/backend"
21 )
22
23 var (
24 keyBucketName = []byte("key")
25 metaBucketName = []byte("meta")
26 leaseBucketName = []byte("lease")
27 alarmBucketName = []byte("alarm")
28
29 clusterBucketName = []byte("cluster")
30
31 membersBucketName = []byte("members")
32 membersRemovedBucketName = []byte("members_removed")
33
34 authBucketName = []byte("auth")
35 authUsersBucketName = []byte("authUsers")
36 authRolesBucketName = []byte("authRoles")
37
38 testBucketName = []byte("test")
39 )
40
41 var (
42 Key = backend.Bucket(bucket{id: 1, name: keyBucketName, safeRangeBucket: true})
43 Meta = backend.Bucket(bucket{id: 2, name: metaBucketName, safeRangeBucket: false})
44 Lease = backend.Bucket(bucket{id: 3, name: leaseBucketName, safeRangeBucket: false})
45 Alarm = backend.Bucket(bucket{id: 4, name: alarmBucketName, safeRangeBucket: false})
46 Cluster = backend.Bucket(bucket{id: 5, name: clusterBucketName, safeRangeBucket: false})
47
48 Members = backend.Bucket(bucket{id: 10, name: membersBucketName, safeRangeBucket: false})
49 MembersRemoved = backend.Bucket(bucket{id: 11, name: membersRemovedBucketName, safeRangeBucket: false})
50
51 Auth = backend.Bucket(bucket{id: 20, name: authBucketName, safeRangeBucket: false})
52 AuthUsers = backend.Bucket(bucket{id: 21, name: authUsersBucketName, safeRangeBucket: false})
53 AuthRoles = backend.Bucket(bucket{id: 22, name: authRolesBucketName, safeRangeBucket: false})
54
55 Test = backend.Bucket(bucket{id: 100, name: testBucketName, safeRangeBucket: false})
56 )
57
58 type bucket struct {
59 id backend.BucketID
60 name []byte
61 safeRangeBucket bool
62 }
63
64 func (b bucket) ID() backend.BucketID { return b.id }
65 func (b bucket) Name() []byte { return b.name }
66 func (b bucket) String() string { return string(b.Name()) }
67 func (b bucket) IsSafeRangeBucket() bool { return b.safeRangeBucket }
68
69 var (
70 MetaConsistentIndexKeyName = []byte("consistent_index")
71 MetaTermKeyName = []byte("term")
72 )
73
74
75 func DefaultIgnores(bucket, key []byte) bool {
76
77
78 return bytes.Compare(bucket, Meta.Name()) == 0 &&
79 (bytes.Compare(key, MetaTermKeyName) == 0 || bytes.Compare(key, MetaConsistentIndexKeyName) == 0)
80 }
81
View as plain text