From 90feac957df93216a2380770ce13e2cf0f767b5c Mon Sep 17 00:00:00 2001 From: ale <ale@incal.net> Date: Mon, 2 Mar 2020 10:48:37 +0000 Subject: [PATCH] Avoid reading input one sample at a time in radioprober Small costly mistake. --- prober/decoder.go | 10 ++-------- prober/prober.go | 3 +-- 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/prober/decoder.go b/prober/decoder.go index b961b363..7c452662 100644 --- a/prober/decoder.go +++ b/prober/decoder.go @@ -48,12 +48,6 @@ type floatReader struct { io.Reader } -func (r floatReader) ReadFloats(buf []float64) (n int, err error) { - for n = 0; n < len(buf); n++ { - err = binary.Read(r.Reader, binary.LittleEndian, &buf[n]) - if err != nil { - break - } - } - return +func (r floatReader) ReadFloats(buf []float64) error { + return binary.Read(r.Reader, binary.LittleEndian, buf) } diff --git a/prober/prober.go b/prober/prober.go index dd8b6f08..8086f135 100644 --- a/prober/prober.go +++ b/prober/prober.go @@ -127,8 +127,7 @@ func (p *Prober) stream() { fr := &floatReader{dec} buf := make([]float64, bufSize) for { - _, err := fr.ReadFloats(buf) - if err != nil { + if err := fr.ReadFloats(buf); err != nil { break } -- GitLab