Given that we've taken on the resposibility of maintaining this forked package I've added it to the Syncthing organization. We still vendor it like an external package, because it's convenient to keep it as a fork of upstream to easier merge and file pull requests towards them.
23 lines
557 B
Go
23 lines
557 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, func(string) bool, ...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))
|
|
}
|