Workflow

从接口间关系可以看出,SharedInformer 是核心组件,它通过 Controller 执行操作,并将结果存入 Store 中。SharedIndexInformer 为 SharedInformer 添加了 Index 功能。
shared-informer-workflow.svg

Procedure

shared-informer-procedures.svg

Run

image.png

Add Handler

shared-informer-processor-listener.svg

ListAndWatch

shared-informer-list-and-watch.svg
image.png

Indexer

shared-informer-indexer.svg
[1] cache 根据 Object 生成 Key 的方式如下
image.png
[2] items 根据 Key 获取老对象,并设置新对象
image.png
[3] updateIndices 代码如下
image.png
[4] sharedIndexInformer 在创建 processorListener 时,如果处于工作状态,会调用 indexer 的 List 方法将全部缓存的 object 取出,并发送给新添加的 processorListener。
image.png
最终获取全部事件对象位置
image.png