mirror of
https://github.com/syncthing/syncthing.git
synced 2024-11-17 02:48:57 -07:00
f98c21b68e
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/3986
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))
|
|
}
|