etcdserver/api/v2store/watcher.go
func (w *watcher) Remove() {
	w.hub.mutex.Lock()
	defer w.hub.mutex.Unlock()

	close(w.eventChan)
	if w.remove != nil {
		w.remove()
	}
}
func (w *watcher) Remove() {
	w.hub.mutex.Lock()
	defer w.hub.mutex.Unlock()

	close(w.eventChan)
	if w.remove != nil {
		w.remove()
	}
}
func ( w * watcher ) Remove ( ) { w . hub . mutex . Lock ( ) defer w . hub . mutex . Unlock ( ) close ( w . eventChan ) if w . remove != nil { w . remove ( ) } }
// Remove removes the watcher from watcherHub
// The actual remove function is guaranteed to only be executed once
Remove removes the watcher from watcherHub The actual remove function is guaranteed to only be executed once