diff options
Diffstat (limited to 'watcher/batcher.go')
-rw-r--r-- | watcher/batcher.go | 27 |
1 files changed, 20 insertions, 7 deletions
diff --git a/watcher/batcher.go b/watcher/batcher.go index 479603f1e..e5733d20b 100644 --- a/watcher/batcher.go +++ b/watcher/batcher.go @@ -1,9 +1,22 @@ +// Copyright © 2013-2015 Steve Francia <[email protected]>. +// +// Licensed under the Simple Public License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://opensource.org/licenses/Simple-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + package watcher import ( "time" - "gopkg.in/fsnotify.v0" + "gopkg.in/fsnotify.v1" ) type Batcher struct { @@ -11,7 +24,7 @@ type Batcher struct { interval time.Duration done chan struct{} - Event chan []*fsnotify.FileEvent // Events are returned on this channel + Events chan []fsnotify.Event // Events are returned on this channel } func New(interval time.Duration) (*Batcher, error) { @@ -21,7 +34,7 @@ func New(interval time.Duration) (*Batcher, error) { batcher.Watcher = watcher batcher.interval = interval batcher.done = make(chan struct{}, 1) - batcher.Event = make(chan []*fsnotify.FileEvent, 1) + batcher.Events = make(chan []fsnotify.Event, 1) if err == nil { go batcher.run() @@ -32,18 +45,18 @@ func New(interval time.Duration) (*Batcher, error) { func (b *Batcher) run() { tick := time.Tick(b.interval) - evs := make([]*fsnotify.FileEvent, 0) + evs := make([]fsnotify.Event, 0) OuterLoop: for { select { - case ev := <-b.Watcher.Event: + case ev := <-b.Watcher.Events: evs = append(evs, ev) case <-tick: if len(evs) == 0 { continue } - b.Event <- evs - evs = make([]*fsnotify.FileEvent, 0) + b.Events <- evs + evs = make([]fsnotify.Event, 0) case <-b.done: break OuterLoop } |