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:
parent
f92b0ef933
commit
49b427d773
3 changed files with 37 additions and 80 deletions
21
tvix/nar-bridge/pkg/importer/counting_writer.go
Normal file
21
tvix/nar-bridge/pkg/importer/counting_writer.go
Normal 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
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue