master
dongming 2 years ago
parent e8ca249b29
commit e39777713d

@ -150,6 +150,7 @@ func New(config *rest.Config, opts Options) (Cache, error) {
if err != nil {
return nil, err
}
// 设置各种索引便于类型转换
selectorsByGVK, err := convertToSelectorsByGVK(opts.SelectorsByObject, opts.DefaultSelector, opts.Scheme)
if err != nil {
return nil, err

@ -148,10 +148,13 @@ func New(config *rest.Config, opts ...Option) (Cluster, error) {
return nil, errors.New("must specify Config")
}
// 处理自定义的选项参数
options := Options{}
for _, opt := range opts {
opt(&options)
}
// 设定默认的方法
options = setOptionsDefaults(options)
// Create the mapper provider

@ -576,16 +576,19 @@ func defaultBaseContext() context.Context {
// setOptionsDefaults set default values for Options fields.
func setOptionsDefaults(options Options) Options {
// election 相关的方法设定
// Allow newResourceLock to be mocked
if options.newResourceLock == nil {
options.newResourceLock = leaderelection.NewResourceLock
}
// 记录器相关的方法设定
// Allow newRecorderProvider to be mocked
if options.newRecorderProvider == nil {
options.newRecorderProvider = intrec.NewProvider
}
// 处理事件广播相关的方法设定
// This is duplicated with pkg/cluster, we need it here
// for the leader election and there to provide the user with
// an EventBroadcaster
@ -600,6 +603,7 @@ func setOptionsDefaults(options Options) Options {
}
}
// 监控相关的方法设定
if options.newMetricsListener == nil {
options.newMetricsListener = metrics.NewListener
}
@ -628,15 +632,18 @@ func setOptionsDefaults(options Options) Options {
options.newHealthProbeListener = defaultHealthProbeListener
}
// 停止相关的方法设定
if options.GracefulShutdownTimeout == nil {
gracefulShutdownTimeout := defaultGracefulShutdownPeriod
options.GracefulShutdownTimeout = &gracefulShutdownTimeout
}
// 日志对象的设定
if options.Logger.GetSink() == nil {
options.Logger = log.Log
}
// 基本的上下文相关方法的设定
if options.BaseContext == nil {
options.BaseContext = defaultBaseContext
}

@ -34,6 +34,7 @@ type runnables struct {
Others *runnableGroup
}
// 以字面量的方式创建各个频道,这些频道中是由空间来存储每个可执行(运行)的对象的。
// newRunnables creates a new runnables object.
func newRunnables(baseContext BaseContextFunc, errChan chan error) *runnables {
return &runnables{

Loading…
Cancel
Save