From 38fc200e564e1086742c3ef908b7793be942356a Mon Sep 17 00:00:00 2001 From: Chris Lu Date: Sat, 6 Mar 2021 14:24:24 -0800 Subject: [PATCH] CRCWriter consistent with CRC --- weed/storage/needle/crc.go | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/weed/storage/needle/crc.go b/weed/storage/needle/crc.go index e1bac829a..22456faa2 100644 --- a/weed/storage/needle/crc.go +++ b/weed/storage/needle/crc.go @@ -2,7 +2,6 @@ package needle import ( "fmt" - "hash" "io" "github.com/klauspost/crc32" @@ -35,21 +34,21 @@ func (n *Needle) Etag() string { func NewCRCwriter(w io.Writer) *CRCwriter { return &CRCwriter{ - h: crc32.New(table), + crc: CRC(0), w: w, } } type CRCwriter struct { - h hash.Hash32 - w io.Writer + crc CRC + w io.Writer } func (c *CRCwriter) Write(p []byte) (n int, err error) { n, err = c.w.Write(p) // with each write ... - c.h.Write(p) // ... update the hash + c.crc = c.crc.Update(p) return } -func (c *CRCwriter) Sum() uint32 { return c.h.Sum32() } // final hash +func (c *CRCwriter) Sum() uint32 { return c.crc.Value() } // final hash