func (w *watcher) notify(e *Event, originalPath bool, deleted bool) bool {
	if (w.recursive || originalPath || deleted) && e.Index() >= w.sinceIndex {
		select {
		case w.eventChan <- e:
		default:
			w.remove()
		}
		return true
	}
	return false
}
notify function notifies the watcher. If the watcher interests in the given path,
the function will return true.
package store
type Watcher interface {
	EventChan() chan *Event
	StartIndex() uint64  
	Remove()
}
type watcher struct {
	eventChan  chan *Event
	stream     bool
	recursive  bool
	sinceIndex uint64
	startIndex uint64
	hub        *watcherHub
	removed    bool
	remove     func()
}
func (w *watcher) EventChan() chan *Event {
	return w.eventChan
}
func (w *watcher) StartIndex() uint64 {
	return w.startIndex
}