mirror of
https://github.com/tailscale/tailscale.git
synced 2025-10-19 06:02:57 +00:00
util/deephash: add AppendSum method (#5768)
This method can be used to obtain the hex-formatted deephash.Sum instance without allocations. Signed-off-by: Andrew Dunham <andrew@du.nham.ca>
This commit is contained in:
@@ -106,9 +106,20 @@ func (s1 *Sum) xor(s2 Sum) {
|
||||
}
|
||||
|
||||
func (s Sum) String() string {
|
||||
// Note: if we change this, keep in sync with AppendTo
|
||||
return hex.EncodeToString(s.sum[:])
|
||||
}
|
||||
|
||||
// AppendTo appends the string encoding of this sum (as returned by the String
|
||||
// method) to the provided byte slice and returns the extended buffer.
|
||||
func (s Sum) AppendTo(b []byte) []byte {
|
||||
// TODO: switch to upstream implementation if accepted:
|
||||
// https://github.com/golang/go/issues/53693
|
||||
var lb [len(s.sum) * 2]byte
|
||||
hex.Encode(lb[:], s.sum[:])
|
||||
return append(b, lb[:]...)
|
||||
}
|
||||
|
||||
var (
|
||||
seedOnce sync.Once
|
||||
seed uint64
|
||||
|
Reference in New Issue
Block a user