From c9650553a17ef02157faad8d5a77b4ec26978b7f Mon Sep 17 00:00:00 2001 From: p4u Date: Thu, 25 Aug 2022 22:36:28 +0200 Subject: [PATCH] use io.Writer interface for Dump methods Signed-off-by: p4u --- tree.go | 11 +++-------- tree_test.go | 7 ++----- 2 files changed, 5 insertions(+), 13 deletions(-) diff --git a/tree.go b/tree.go index 8eb646e..4316943 100644 --- a/tree.go +++ b/tree.go @@ -1327,7 +1327,7 @@ func (t *Tree) Dump(fromRoot []byte) ([]byte, error) { } // DumpWriter exports all the Tree leafs writing the bytes in the given Writer -func (t *Tree) DumpWriter(fromRoot []byte, w *bufio.Writer) error { +func (t *Tree) DumpWriter(fromRoot []byte, w io.Writer) error { _, err := t.dump(fromRoot, w) return err } @@ -1340,7 +1340,7 @@ func (t *Tree) DumpWriter(fromRoot []byte, w *bufio.Writer) error { // [ 1 byte | 1 byte | S bytes | len(v) bytes ] // [ len(k) | len(v) | key | value ] // Where S is the size of the output of the hash function used for the Tree. -func (t *Tree) dump(fromRoot []byte, w *bufio.Writer) ([]byte, error) { +func (t *Tree) dump(fromRoot []byte, w io.Writer) ([]byte, error) { // allow to define which root to use if fromRoot == nil { var err error @@ -1385,11 +1385,6 @@ func (t *Tree) dump(fromRoot []byte, w *bufio.Writer) ([]byte, error) { callbackErr = fmt.Errorf("dump: w.Write n!=len(kv), %s", err) return true } - err = w.Flush() - if err != nil { - callbackErr = fmt.Errorf("dump: w.Flush, %s", err) - return true - } } return false }) @@ -1409,7 +1404,7 @@ func (t *Tree) ImportDump(b []byte) error { // ImportDumpReader imports the leafs (that have been exported with the Dump // method) in the Tree, reading them from the given reader. -func (t *Tree) ImportDumpReader(r *bufio.Reader) error { +func (t *Tree) ImportDumpReader(r io.Reader) error { if !t.editable() { return ErrSnapshotNotEditable } diff --git a/tree_test.go b/tree_test.go index 00a0dce..eec06a3 100644 --- a/tree_test.go +++ b/tree_test.go @@ -1,7 +1,6 @@ package arbo import ( - "bufio" "encoding/hex" "math" "math/big" @@ -492,8 +491,7 @@ func testDumpAndImportDump(t *testing.T, inFile bool) { if inFile { f, err := os.Create(fileName) c.Assert(err, qt.IsNil) - w := bufio.NewWriter(f) - err = tree1.DumpWriter(nil, w) + err = tree1.DumpWriter(nil, f) c.Assert(err, qt.IsNil) } else { e, err = tree1.Dump(nil) @@ -510,8 +508,7 @@ func testDumpAndImportDump(t *testing.T, inFile bool) { if inFile { f, err := os.Open(filepath.Clean(fileName)) c.Assert(err, qt.IsNil) - r := bufio.NewReader(f) - err = tree2.ImportDumpReader(r) + err = tree2.ImportDumpReader(f) c.Assert(err, qt.IsNil) } else { err = tree2.ImportDump(e)