From caf16c20853947138883f6460682e19733895f52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Pedersen?= Date: Fri, 20 Nov 2020 09:32:16 +0100 Subject: docs: Regenerate docshelper --- watcher/batcher.go | 73 ------------------------------------------------------ 1 file changed, 73 deletions(-) delete mode 100644 watcher/batcher.go (limited to 'watcher') diff --git a/watcher/batcher.go b/watcher/batcher.go deleted file mode 100644 index 6f4b276cf..000000000 --- a/watcher/batcher.go +++ /dev/null @@ -1,73 +0,0 @@ -// Copyright 2015 The Hugo Authors. All rights reserved. -// -// Licensed under the Apache 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://www.apache.org/licenses/LICENSE-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" - - "github.com/fsnotify/fsnotify" -) - -// Batcher batches file watch events in a given interval. -type Batcher struct { - *fsnotify.Watcher - interval time.Duration - done chan struct{} - - Events chan []fsnotify.Event // Events are returned on this channel -} - -// New creates and starts a Batcher with the given time interval. -func New(interval time.Duration) (*Batcher, error) { - watcher, err := fsnotify.NewWatcher() - - batcher := &Batcher{} - batcher.Watcher = watcher - batcher.interval = interval - batcher.done = make(chan struct{}, 1) - batcher.Events = make(chan []fsnotify.Event, 1) - - if err == nil { - go batcher.run() - } - - return batcher, err -} - -func (b *Batcher) run() { - tick := time.Tick(b.interval) - evs := make([]fsnotify.Event, 0) -OuterLoop: - for { - select { - case ev := <-b.Watcher.Events: - evs = append(evs, ev) - case <-tick: - if len(evs) == 0 { - continue - } - b.Events <- evs - evs = make([]fsnotify.Event, 0) - case <-b.done: - break OuterLoop - } - } - close(b.done) -} - -// Close stops the watching of the files. -func (b *Batcher) Close() { - b.done <- struct{}{} - b.Watcher.Close() -} -- cgit v1.2.3