refactor(tvix/nar-bridge): combine writers/readers

We can drop most of Hasher if we use a MultiWriter writing to the hash
function and a minimal CountingWriter.

This should make things a bit more understandable.

Change-Id: I37ee72d9a5c73f253aecc1ad761cb723389b89fc
Reviewed-on: https://cl.tvl.fyi/c/depot/+/9529
Autosubmit: flokli <flokli@flokli.de>
Reviewed-by: Connor Brewster <cbrewster@hey.com>
Tested-by: BuildkiteCI
This commit is contained in:
Florian Klink 2023-10-03 14:23:46 +03:00 committed by flokli
parent f92b0ef933
commit 49b427d773
3 changed files with 37 additions and 80 deletions

View file

@ -0,0 +1,21 @@
package importer
import (
"io"
)
// CountingWriter implements io.Writer.
var _ io.Writer = &CountingWriter{}
type CountingWriter struct {
bytesWritten uint64
}
func (cw *CountingWriter) Write(p []byte) (n int, err error) {
cw.bytesWritten += uint64(len(p))
return len(p), nil
}
func (cw *CountingWriter) BytesWritten() uint64 {
return cw.bytesWritten
}