本文整理汇总了Golang中github.com/luizbafilho/fusis/state.State.Copy方法的典型用法代码示例。如果您正苦于以下问题:Golang State.Copy方法的具体用法?Golang State.Copy怎么用?Golang State.Copy使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/luizbafilho/fusis/state.State
的用法示例。
在下文中一共展示了State.Copy方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: FilterHealthy
func (m *FusisMonitor) FilterHealthy(s state.State) state.State {
filteredState := s.Copy()
for _, svc := range filteredState.GetServices() {
for _, dst := range filteredState.GetDestinations(&svc) {
checkId := fmt.Sprintf("%s:%s", svc.GetId(), dst.GetId())
m.RLock()
if check, ok := m.runningChecks[checkId]; ok {
if check.GetStatus() == BAD {
logrus.Debugf("[health-monitor] filtering %#v. Check %s", dst, check.GetId())
filteredState.DeleteDestination(&dst)
}
}
m.RUnlock()
}
}
return filteredState
}