mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-27 15:16:43 +00:00
p2p/simulations: added link distance support
This commit is contained in:
parent
fe1d6d215d
commit
1370269a9c
1 changed files with 6 additions and 2 deletions
|
|
@ -38,6 +38,7 @@ import (
|
||||||
"github.com/ethereum/go-ethereum/p2p/discover"
|
"github.com/ethereum/go-ethereum/p2p/discover"
|
||||||
"github.com/ethereum/go-ethereum/p2p/simulations/adapters"
|
"github.com/ethereum/go-ethereum/p2p/simulations/adapters"
|
||||||
"github.com/ethereum/go-ethereum/rpc"
|
"github.com/ethereum/go-ethereum/rpc"
|
||||||
|
"github.com/ethereum/go-ethereum/pot"
|
||||||
)
|
)
|
||||||
|
|
||||||
type NetworkConfig struct {
|
type NetworkConfig struct {
|
||||||
|
|
@ -166,8 +167,9 @@ type Conn struct {
|
||||||
Up bool `json:"up"`
|
Up bool `json:"up"`
|
||||||
// reverse is false by default (One dialled/dropped the Other)
|
// reverse is false by default (One dialled/dropped the Other)
|
||||||
Reverse bool `json:"reverse"`
|
Reverse bool `json:"reverse"`
|
||||||
// Info
|
// A scalar distance value denoting how "far" Other is from One (Kademlia table)
|
||||||
// average throughput, recent average throughput etc
|
Distance int `json:"distance"`
|
||||||
|
// indicates if a ControlEvent has already been fired for this connection
|
||||||
controlFired bool
|
controlFired bool
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -242,11 +244,13 @@ func (self *Network) newConn(oneID, otherID discover.NodeID) (*Conn, error) {
|
||||||
if other == nil {
|
if other == nil {
|
||||||
return nil, fmt.Errorf("other %v does not exist", other)
|
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{
|
return &Conn{
|
||||||
One: oneID,
|
One: oneID,
|
||||||
Other: otherID,
|
Other: otherID,
|
||||||
one: one,
|
one: one,
|
||||||
other: other,
|
other: other,
|
||||||
|
Distance: distance,
|
||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue