23 lines
538 B
Go
23 lines
538 B
Go
|
// Copyright (c) 2014-2015 The Notify Authors. All rights reserved.
|
||
|
// Use of this source code is governed by the MIT license that can be
|
||
|
// found in the LICENSE file.
|
||
|
|
||
|
package notify
|
||
|
|
||
|
const buffer = 128
|
||
|
|
||
|
type tree interface {
|
||
|
Watch(string, chan<- EventInfo, ...Event) error
|
||
|
Stop(chan<- EventInfo)
|
||
|
Close() error
|
||
|
}
|
||
|
|
||
|
func newTree() tree {
|
||
|
c := make(chan EventInfo, buffer)
|
||
|
w := newWatcher(c)
|
||
|
if rw, ok := w.(recursiveWatcher); ok {
|
||
|
return newRecursiveTree(rw, c)
|
||
|
}
|
||
|
return newNonrecursiveTree(w, c, make(chan EventInfo, buffer))
|
||
|
}
|