also export hash's stuct field on Node

This commit is contained in:
Jan Winkelmann 2015-03-21 14:13:48 +01:00
parent 41dea2adb3
commit d80f79349e
3 changed files with 13 additions and 13 deletions

View file

@ -40,7 +40,7 @@ type Node struct {
TCPPort int // TCP listening port for RLPx
active time.Time
idHash []byte
IDHash []byte
}
func newNode(id NodeID, addr *net.UDPAddr) *Node {
@ -50,7 +50,7 @@ func newNode(id NodeID, addr *net.UDPAddr) *Node {
DiscPort: addr.Port,
TCPPort: addr.Port,
active: time.Now(),
idHash: hashNodeID(id),
IDHash: hashNodeID(id),
}
}

View file

@ -96,7 +96,7 @@ func (tab *Table) Lookup(target NodeID) []*Node {
tab.mutex.Lock()
// update last lookup stamp (for refresh logic)
tab.buckets[logdist(tab.self.idHash, targetHash)].lastLookup = time.Now()
tab.buckets[logdist(tab.self.IDHash, targetHash)].lastLookup = time.Now()
// generate initial result set
result := tab.closest(target, bucketSize)
tab.mutex.Unlock()
@ -182,7 +182,7 @@ func (tab *Table) len() (n int) {
// attempts to insert the node into a bucket. The returned Node might
// not be part of the table. The caller must hold tab.mutex.
func (tab *Table) bumpOrAdd(node NodeID, from *net.UDPAddr) (n *Node) {
b := tab.buckets[logdist(tab.self.idHash, hashNodeID(node))]
b := tab.buckets[logdist(tab.self.IDHash, hashNodeID(node))]
if n = b.bump(node); n == nil {
n = newNode(node, from)
if len(b.entries) == bucketSize {
@ -216,7 +216,7 @@ func (tab *Table) pingReplace(n *Node, b *bucket) {
// bump updates the activity timestamp for the given node.
// The caller must hold tab.mutex.
func (tab *Table) bump(node NodeID) {
tab.buckets[logdist(tab.self.idHash, hashNodeID(node))].bump(node)
tab.buckets[logdist(tab.self.IDHash, hashNodeID(node))].bump(node)
}
// add puts the entries into the table if their corresponding
@ -229,7 +229,7 @@ outer:
// input lists.
continue
}
bucket := tab.buckets[logdist(tab.self.idHash, n.idHash)]
bucket := tab.buckets[logdist(tab.self.IDHash, n.IDHash)]
for i := range bucket.entries {
if bucket.entries[i].ID == n.ID {
// already in bucket
@ -265,7 +265,7 @@ type nodesByDistance struct {
// push adds the given node to the list, keeping the total size below maxElems.
func (h *nodesByDistance) push(n *Node, maxElems int) {
ix := sort.Search(len(h.entries), func(i int) bool {
return distcmp(h.target, h.entries[i].idHash, n.idHash) > 0
return distcmp(h.target, h.entries[i].IDHash, n.IDHash) > 0
})
if len(h.entries) < maxElems {
h.entries = append(h.entries, n)

View file

@ -163,8 +163,8 @@ func TestTable_closest(t *testing.T) {
if contains(result, n.ID) {
continue // don't run the check below for nodes in result
}
farthestResult := result[len(result)-1].idHash
if distcmp(test.TargetHash, n.idHash, farthestResult) < 0 {
farthestResult := result[len(result)-1].IDHash
if distcmp(test.TargetHash, n.IDHash, farthestResult) < 0 {
t.Errorf("table contains node that is closer to target but it's not in result")
t.Logf(" Target: %v", test.Target)
t.Logf(" Farthest Result: %v", farthestResult)
@ -202,7 +202,7 @@ func (*closeTest) Generate(rand *rand.Rand, size int) reflect.Value {
t.TargetHash = hashNodeID(t.Target)
for _, id := range gen([]NodeID{}, rand).([]NodeID) {
t.All = append(t.All, &Node{ID: id, idHash: hashNodeID(id)})
t.All = append(t.All, &Node{ID: id, IDHash: hashNodeID(id)})
}
return reflect.ValueOf(t)
}
@ -224,7 +224,7 @@ func TestTable_Lookup(t *testing.T) {
results := tab.Lookup(target)
t.Logf("results:")
for _, e := range results {
t.Logf(" ld=%d, %v", logdist(targetHash, e.idHash), e.ID)
t.Logf(" ld=%d, %v", logdist(targetHash, e.IDHash), e.ID)
}
if len(results) != bucketSize {
t.Errorf("wrong number of results: got %d, want %d", len(results), bucketSize)
@ -284,10 +284,10 @@ func hasDuplicates(slice []*Node) bool {
func sortedByDistanceTo(distbase NodeIDHash, slice []*Node) bool {
var last NodeIDHash
for i, e := range slice {
if i > 0 && distcmp(distbase, e.idHash, last) < 0 {
if i > 0 && distcmp(distbase, e.IDHash, last) < 0 {
return false
}
last = e.idHash
last = e.IDHash
}
return true
}