From 1370269a9c598fa4a33299545c3576b9aca4685e Mon Sep 17 00:00:00 2001 From: Fabio Barone Date: Wed, 24 May 2017 20:35:00 -0500 Subject: [PATCH] p2p/simulations: added link distance support --- p2p/simulations/network.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/p2p/simulations/network.go b/p2p/simulations/network.go index 1bf83085e7..5ab18fed7f 100644 --- a/p2p/simulations/network.go +++ b/p2p/simulations/network.go @@ -38,6 +38,7 @@ import ( "github.com/ethereum/go-ethereum/p2p/discover" "github.com/ethereum/go-ethereum/p2p/simulations/adapters" "github.com/ethereum/go-ethereum/rpc" + "github.com/ethereum/go-ethereum/pot" ) type NetworkConfig struct { @@ -166,8 +167,9 @@ type Conn struct { Up bool `json:"up"` // reverse is false by default (One dialled/dropped the Other) Reverse bool `json:"reverse"` - // Info - // average throughput, recent average throughput etc + // A scalar distance value denoting how "far" Other is from One (Kademlia table) + Distance int `json:"distance"` + // indicates if a ControlEvent has already been fired for this connection controlFired bool } @@ -242,11 +244,13 @@ func (self *Network) newConn(oneID, otherID discover.NodeID) (*Conn, error) { if other == nil { return nil, fmt.Errorf("other %v does not exist", other) } + distance, _ := pot.NewBytesVal(one.Addr(), nil).PO(pot.NewBytesVal(other.Addr(), nil), 0) return &Conn{ One: oneID, Other: otherID, one: one, other: other, + Distance: distance, }, nil }