From ee33da755c015d3c0ac616faaf32a7dfcbd9b718 Mon Sep 17 00:00:00 2001 From: Derrick Hammer Date: Wed, 17 May 2023 10:12:22 -0400 Subject: [PATCH] refactor: use BaoEncodedSize --- bao/bao.go | 15 +-------------- go.mod | 2 +- go.sum | 2 ++ 3 files changed, 4 insertions(+), 15 deletions(-) diff --git a/bao/bao.go b/bao/bao.go index 27fdfe9..d5ff1f6 100644 --- a/bao/bao.go +++ b/bao/bao.go @@ -7,12 +7,8 @@ import ( "lukechampine.com/blake3" ) -const ( - chunkSize = 1024 -) - func ComputeTree(reader io.Reader, size int64) ([]byte, [32]byte, error) { - bufSize := baoOutboardSize(int(size)) + bufSize := blake3.BaoEncodedSize(int(size), true) buf := bufferAt{buf: make([]byte, bufSize)} hash, err := blake3.BaoEncode(&buf, bufio.NewReader(reader), size, true) @@ -23,15 +19,6 @@ func ComputeTree(reader io.Reader, size int64) ([]byte, [32]byte, error) { return buf.buf, hash, nil } -func baoOutboardSize(dataLen int) int { - if dataLen == 0 { - return 8 - } - chunks := (dataLen + chunkSize - 1) / chunkSize - cvs := 2*chunks - 2 // no I will not elaborate - return 8 + cvs*32 -} - type bufferAt struct { buf []byte } diff --git a/go.mod b/go.mod index 5f741e4..0ca518e 100644 --- a/go.mod +++ b/go.mod @@ -30,7 +30,7 @@ require ( gorm.io/driver/mysql v1.5.0 gorm.io/driver/sqlite v1.5.0 gorm.io/gorm v1.25.0 - lukechampine.com/blake3 v1.2.0 + lukechampine.com/blake3 v1.2.1 lukechampine.com/frand v1.4.2 ) diff --git a/go.sum b/go.sum index 61dbb46..3b81667 100644 --- a/go.sum +++ b/go.sum @@ -1953,6 +1953,8 @@ lukechampine.com/blake3 v1.1.8-0.20230515191509-85fa20df84c1 h1:NTVGxhcZ8DAwAZny lukechampine.com/blake3 v1.1.8-0.20230515191509-85fa20df84c1/go.mod h1:tkKEOtDkNtklkXtLNEOGNq5tcV90tJiA1vAA12R78LA= lukechampine.com/blake3 v1.2.0 h1:xBP4eLyBtfzoNTBaeECFxxoLyPX7hD1xntcqc1xywQE= lukechampine.com/blake3 v1.2.0/go.mod h1:0OFRp7fBtAylGVCO40o87sbupkyIGgbpv1+M1k1LM6k= +lukechampine.com/blake3 v1.2.1 h1:YuqqRuaqsGV71BV/nm9xlI0MKUv4QC54jQnBChWbGnI= +lukechampine.com/blake3 v1.2.1/go.mod h1:0OFRp7fBtAylGVCO40o87sbupkyIGgbpv1+M1k1LM6k= lukechampine.com/frand v1.4.2 h1:RzFIpOvkMXuPMBb9maa4ND4wjBn71E1Jpf8BzJHMaVw= lukechampine.com/frand v1.4.2/go.mod h1:4S/TM2ZgrKejMcKMbeLjISpJMO+/eZ1zu3vYX9dtj3s= lukechampine.com/uint128 v1.1.1/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk=