func (wh *watcherHub) notify(e *Event) {
	e = wh.EventHistory.addEvent(e) // add event into the eventHistory

	segments := strings.Split(e.Node.Key, "/")

	currPath := "/"

	// walk through all the segments of the path and notify the watchers
	// if the path is "/foo/bar", it will notify watchers with path "/",
	// "/foo" and "/foo/bar"

	for _, segment := range segments {
		currPath = path.Join(currPath, segment)
		// notify the watchers who interests in the changes of current path
		wh.notifyWatchers(e, currPath, false)
	}
}
func (wh *watcherHub) notify(e *Event) {
	e = wh.EventHistory.addEvent(e) 

	segments := strings.Split(e.Node.Key, "/")

	currPath := "/"

	
	
	

	for _, segment := range segments {
		currPath = path.Join(currPath, segment)
		
		wh.notifyWatchers(e, currPath, false)
	}
}
func ( wh * watcherHub ) notify ( e * Event ) { e = wh . EventHistory . addEvent ( e ) // add event into the eventHistory segments := strings . Split ( e . Node . Key , " " ) currPath := " " // walk through all the segments of the path and notify the watchers // if the path is "/foo/bar", it will notify watchers with path "/", // "/foo" and "/foo/bar" for _ , segment := range segments { currPath = path . Join ( currPath , segment ) // notify the watchers who interests in the changes of current path wh . notifyWatchers ( e , currPath , false ) } }
// notify function accepts an event and notify to the watchers.
notify function accepts an event and notify to the watchers .