mvcc/watcher_group.go
func (wg *watcherGroup) choose(maxWatchers int, curRev, compactRev int64) (*watcherGroup, int64) {
	if len(wg.watchers) < maxWatchers {
		return wg, wg.chooseAll(curRev, compactRev)
	}
	ret := newWatcherGroup()
	for w := range wg.watchers {
		if maxWatchers <= 0 {
			break
		}
		maxWatchers--
		ret.add(w)
	}
	return &ret, ret.chooseAll(curRev, compactRev)
}
func (wg *watcherGroup) choose(maxWatchers int, curRev, compactRev int64) (*watcherGroup, int64) {
	if len(wg.watchers) < maxWatchers {
		return wg, wg.chooseAll(curRev, compactRev)
	}
	ret := newWatcherGroup()
	for w := range wg.watchers {
		if maxWatchers <= 0 {
			break
		}
		maxWatchers--
		ret.add(w)
	}
	return &ret, ret.chooseAll(curRev, compactRev)
}
func ( wg * watcherGroup ) choose ( maxWatchers int , curRev , compactRev int64 ) ( * watcherGroup , int64 ) { if len ( wg . watchers ) < maxWatchers { return wg , wg . chooseAll ( curRev , compactRev ) } ret := newWatcherGroup ( ) for w := range wg . watchers { if maxWatchers <= 0 { break } maxWatchers -- ret . add ( w ) } return & ret , ret . chooseAll ( curRev , compactRev ) }
// choose selects watchers from the watcher group to update
choose selects watchers from the watcher group to update