@@ -34,29 +34,31 @@ import (
34
34
// SharedInformer provides eventually consistent linkage of its
35
35
// clients to the authoritative state of a given collection of
36
36
// objects. An object is identified by its API group, kind/resource,
37
- // namespace, and name; the `ObjectMeta.UID` is not part of an
38
- // object's ID as far as this contract is concerned. One
37
+ // namespace (if any) , and name; the `ObjectMeta.UID` is not part of
38
+ // an object's ID as far as this contract is concerned. One
39
39
// SharedInformer provides linkage to objects of a particular API
40
40
// group and kind/resource. The linked object collection of a
41
- // SharedInformer may be further restricted to one namespace and/or by
42
- // label selector and/or field selector.
41
+ // SharedInformer may be further restricted to one namespace (if
42
+ // applicable) and/or by label selector and/or field selector.
43
43
//
44
44
// The authoritative state of an object is what apiservers provide
45
45
// access to, and an object goes through a strict sequence of states.
46
- // An object state is either "absent" or present with a
47
- // ResourceVersion and other appropriate content.
46
+ // An object state is either (1) present with a ResourceVersion and
47
+ // other appropriate content or (2) "absent" .
48
48
//
49
- // A SharedInformer maintains a local cache, exposed by GetStore() and
50
- // by GetIndexer() in the case of an indexed informer, of the state of
51
- // each relevant object. This cache is eventually consistent with the
52
- // authoritative state. This means that, unless prevented by
53
- // persistent communication problems, if ever a particular object ID X
54
- // is authoritatively associated with a state S then for every
55
- // SharedInformer I whose collection includes (X, S) eventually either
56
- // (1) I's cache associates X with S or a later state of X, (2) I is
57
- // stopped, or (3) the authoritative state service for X terminates.
58
- // To be formally complete, we say that the absent state meets any
59
- // restriction by label selector or field selector.
49
+ // A SharedInformer maintains a local cache --- exposed by GetStore(),
50
+ // by GetIndexer() in the case of an indexed informer, and possibly by
51
+ // machinery involved in creating and/or accessing the informer --- of
52
+ // the state of each relevant object. This cache is eventually
53
+ // consistent with the authoritative state. This means that, unless
54
+ // prevented by persistent communication problems, if ever a
55
+ // particular object ID X is authoritatively associated with a state S
56
+ // then for every SharedInformer I whose collection includes (X, S)
57
+ // eventually either (1) I's cache associates X with S or a later
58
+ // state of X, (2) I is stopped, or (3) the authoritative state
59
+ // service for X terminates. To be formally complete, we say that the
60
+ // absent state meets any restriction by label selector or field
61
+ // selector.
60
62
//
61
63
// For a given informer and relevant object ID X, the sequence of
62
64
// states that appears in the informer's cache is a subsequence of the
@@ -98,7 +100,7 @@ import (
98
100
// added before `Run()`, eventually either the SharedInformer is
99
101
// stopped or the client is notified of the update. A client added
100
102
// after `Run()` starts gets a startup batch of notifications of
101
- // additions of the object existing in the cache at the time that
103
+ // additions of the objects existing in the cache at the time that
102
104
// client was added; also, for every update to the SharedInformer's
103
105
// local cache after that client was added, eventually either the
104
106
// SharedInformer is stopped or that client is notified of that
0 commit comments