Nicer string repr for operations

This commit is contained in:
Kovid Goyal
2023-07-25 08:30:31 +05:30
parent d0490672e1
commit 4d686b2f47

View File

@@ -16,6 +16,7 @@ import (
"hash"
"io"
"os"
"strconv"
"github.com/zeebo/xxh3"
"golang.org/x/exp/slices"
@@ -76,6 +77,21 @@ type Operation struct {
Data []byte
}
func (self Operation) String() string {
ans := "{" + self.Type.String() + " "
switch self.Type {
case OpBlock:
ans += strconv.FormatUint(self.BlockIndex, 10)
case OpBlockRange:
ans += strconv.FormatUint(self.BlockIndex, 10) + " to " + strconv.FormatUint(self.BlockIndexEnd, 10)
case OpData:
ans += strconv.Itoa(len(self.Data))
case OpHash:
ans += hex.EncodeToString(self.Data)
}
return ans + "}"
}
var bin = binary.LittleEndian
func (self Operation) SerializeSize() int {