Albirew/nyaa-pantsu
Archivé
1
0
Bifurcation 0
Ce dépôt a été archivé le 2022-05-07. Vous pouvez voir ses fichiers ou le cloner, mais pas ouvrir de ticket ou de demandes d'ajout, ni soumettre de changements.
nyaa-pantsu/vendor/github.com/anacrolix/dht/nodeid.go
akuma06 a41f938cec Add Godep support (#758)
As we have seen, dependencies version can prevent the build. We should
user lock versions on dependencies that we know work:
* Packages are vendored
* Add Godep support
* Added addtional install step in readme
* Fix travis build error
2017-05-26 13:07:22 +02:00

50 lignes
770 o
Go

package dht
import "encoding/hex"
type nodeID struct {
_int int160
set bool
}
func (me *nodeID) SetFromBytes(b []byte) {
me._int.SetBytes(b)
me.set = true
}
func (me nodeID) String() string {
b := me._int.bits[:]
if len(b) != 20 {
panic(len(b))
}
return hex.EncodeToString(b)
}
func (nid *nodeID) IsSet() bool {
return nid.set
}
func (me *nodeID) Int160() *int160 {
if !me.set {
panic("not set")
}
return &me._int
}
func nodeIDFromString(s string) (ret nodeID) {
ret.SetFromBytes([]byte(s))
return
}
func (nid0 *nodeID) Distance(nid1 *nodeID) (ret int160) {
if nid0.IsSet() != nid1.IsSet() {
ret.SetMax()
return
}
ret.Xor(&nid0._int, &nid1._int)
return
}
func (nid nodeID) ByteString() string {
return string(nid.Int160().Bytes())
}