From b65eee074521441f3849285ad9c7f7a9c9924cda Mon Sep 17 00:00:00 2001 From: Josh Bleecher Snyder Date: Thu, 19 Nov 2020 11:29:09 -0800 Subject: [PATCH] util/lineread: add docs to Reader In particular, point out how to stop reading and detect it on the other side. Signed-off-by: Josh Bleecher Snyder --- util/lineread/lineread.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/util/lineread/lineread.go b/util/lineread/lineread.go index e00c3111b..3ac063094 100644 --- a/util/lineread/lineread.go +++ b/util/lineread/lineread.go @@ -22,6 +22,11 @@ func File(name string, fn func(line []byte) error) error { return Reader(f, fn) } +// Reader calls fn for each line. +// If fn returns an error, Reader stops reading and returns that error. +// Reader may also return errors encountered reading and parsing from r. +// To stop reading early, use a sentinel "stop" error value and ignore +// it when returned from Reader. func Reader(r io.Reader, fn func(line []byte) error) error { bs := bufio.NewScanner(r) for bs.Scan() {