mirror of
https://github.com/tailscale/tailscale.git
synced 2025-04-18 20:51:45 +00:00
internal/deephash: remove remaining type special cases
Signed-off-by: Josh Bleecher Snyder <josh@tailscale.com>
This commit is contained in:
parent
4b51fbf48c
commit
c065cc6169
@ -15,9 +15,6 @@ import (
|
|||||||
"reflect"
|
"reflect"
|
||||||
"strconv"
|
"strconv"
|
||||||
"sync"
|
"sync"
|
||||||
|
|
||||||
"tailscale.com/tailcfg"
|
|
||||||
"tailscale.com/types/wgkey"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func calcHash(v interface{}) string {
|
func calcHash(v interface{}) string {
|
||||||
@ -45,12 +42,7 @@ func printTo(w *bufio.Writer, v interface{}, scratch []byte) {
|
|||||||
print(w, reflect.ValueOf(v), make(map[uintptr]bool), scratch)
|
print(w, reflect.ValueOf(v), make(map[uintptr]bool), scratch)
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var appenderToType = reflect.TypeOf((*appenderTo)(nil)).Elem()
|
||||||
wgkeyKeyType = reflect.TypeOf(wgkey.Key{})
|
|
||||||
wgkeyPrivateType = reflect.TypeOf(wgkey.Private{})
|
|
||||||
tailcfgDiscoKeyType = reflect.TypeOf(tailcfg.DiscoKey{})
|
|
||||||
appenderToType = reflect.TypeOf((*appenderTo)(nil)).Elem()
|
|
||||||
)
|
|
||||||
|
|
||||||
type appenderTo interface {
|
type appenderTo interface {
|
||||||
AppendTo([]byte) []byte
|
AppendTo([]byte) []byte
|
||||||
@ -71,36 +63,6 @@ func print(w *bufio.Writer, v reflect.Value, visited map[uintptr]bool, scratch [
|
|||||||
w.Write(scratch)
|
w.Write(scratch)
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
// Special case some common types.
|
|
||||||
switch v.Type() {
|
|
||||||
case wgkeyKeyType:
|
|
||||||
if v.CanAddr() {
|
|
||||||
x := v.Addr().Interface().(*wgkey.Key)
|
|
||||||
w.Write(x[:])
|
|
||||||
} else {
|
|
||||||
x := v.Interface().(wgkey.Key)
|
|
||||||
w.Write(x[:])
|
|
||||||
}
|
|
||||||
return true
|
|
||||||
case wgkeyPrivateType:
|
|
||||||
if v.CanAddr() {
|
|
||||||
x := v.Addr().Interface().(*wgkey.Private)
|
|
||||||
w.Write(x[:])
|
|
||||||
} else {
|
|
||||||
x := v.Interface().(wgkey.Private)
|
|
||||||
w.Write(x[:])
|
|
||||||
}
|
|
||||||
return true
|
|
||||||
case tailcfgDiscoKeyType:
|
|
||||||
if v.CanAddr() {
|
|
||||||
x := v.Addr().Interface().(*tailcfg.DiscoKey)
|
|
||||||
w.Write(x[:])
|
|
||||||
} else {
|
|
||||||
x := v.Interface().(tailcfg.DiscoKey)
|
|
||||||
w.Write(x[:])
|
|
||||||
}
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Generic handling.
|
// Generic handling.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user