all: implement AppendText alongside MarshalText (#9207)
This eventually allows encoding packages that may respect the proposed encoding.TextAppender interface. The performance gains from this is between 10-30%. Updates tailscale/corp#14379 Signed-off-by: Joe Tsai <joetsai@digital-static.net>
This commit is contained in:
+6
-1
@@ -127,9 +127,14 @@ func (k DiscoPublic) String() string {
|
||||
return string(bs)
|
||||
}
|
||||
|
||||
// AppendText implements encoding.TextAppender.
|
||||
func (k DiscoPublic) AppendText(b []byte) ([]byte, error) {
|
||||
return appendHexKey(b, discoPublicHexPrefix, k.k[:]), nil
|
||||
}
|
||||
|
||||
// MarshalText implements encoding.TextMarshaler.
|
||||
func (k DiscoPublic) MarshalText() ([]byte, error) {
|
||||
return toHex(k.k[:], discoPublicHexPrefix), nil
|
||||
return k.AppendText(nil)
|
||||
}
|
||||
|
||||
// MarshalText implements encoding.TextUnmarshaler.
|
||||
|
||||
Reference in New Issue
Block a user