|
|
@@ -78,24 +78,26 @@ func (eh *EventHistory) scan(key string, recursive bool, index uint64) (*Event,
|
|
|
for {
|
|
|
e := eh.Queue.Events[i]
|
|
|
|
|
|
- ok := (e.Node.Key == key)
|
|
|
+ if !e.Refresh {
|
|
|
+ ok := (e.Node.Key == key)
|
|
|
|
|
|
- if recursive {
|
|
|
- // add tailing slash
|
|
|
- key = path.Clean(key)
|
|
|
- if key[len(key)-1] != '/' {
|
|
|
- key = key + "/"
|
|
|
- }
|
|
|
+ if recursive {
|
|
|
+ // add tailing slash
|
|
|
+ key = path.Clean(key)
|
|
|
+ if key[len(key)-1] != '/' {
|
|
|
+ key = key + "/"
|
|
|
+ }
|
|
|
|
|
|
- ok = ok || strings.HasPrefix(e.Node.Key, key)
|
|
|
- }
|
|
|
+ ok = ok || strings.HasPrefix(e.Node.Key, key)
|
|
|
+ }
|
|
|
|
|
|
- if (e.Action == Delete || e.Action == Expire) && e.PrevNode != nil && e.PrevNode.Dir {
|
|
|
- ok = ok || strings.HasPrefix(key, e.PrevNode.Key)
|
|
|
- }
|
|
|
+ if (e.Action == Delete || e.Action == Expire) && e.PrevNode != nil && e.PrevNode.Dir {
|
|
|
+ ok = ok || strings.HasPrefix(key, e.PrevNode.Key)
|
|
|
+ }
|
|
|
|
|
|
- if ok {
|
|
|
- return e, nil
|
|
|
+ if ok {
|
|
|
+ return e, nil
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
i = (i + 1) % eh.Queue.Capacity
|