func()

in pkg/client/unit.go [293:336]


func (u *Unit) updateState(
	exp UnitState,
	logLevel UnitLogLevel,
	expFeaturesIdx uint64,
	expFeatures *proto.Features,
	cfg *proto.UnitExpectedConfig,
	cfgIdx uint64,
	expAPM *proto.APMConfig) Trigger {

	var triggers Trigger

	u.expectedStateMu.Lock()
	defer u.expectedStateMu.Unlock()
	if u.expectedState != exp {
		u.expectedState = exp
		triggers |= TriggeredStateChange
	}

	if u.logLevel != logLevel {
		u.logLevel = logLevel
		triggers |= TriggeredLogLevelChange
	}

	if u.featuresIdx != expFeaturesIdx {
		u.featuresIdx = expFeaturesIdx
		if expFeatures != nil &&
			!gproto.Equal(u.features, expFeatures) {
			u.features = expFeatures
			triggers |= TriggeredFeatureChange
		}
	}

	if u.configIdx != cfgIdx {
		u.configIdx = cfgIdx
		u.config = cfg
		triggers |= TriggeredConfigChange
	}

	if !gproto.Equal(u.apm, expAPM) {
		u.apm = expAPM
		triggers |= TriggeredAPMChange
	}
	return triggers
}