mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-27 07:06:42 +00:00
overlay sim fix
This commit is contained in:
parent
7c0a205335
commit
01fb8ed943
2 changed files with 9 additions and 14 deletions
|
|
@ -328,12 +328,6 @@ func (self *Conn) nodesUp() error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// sa := node.Adapter()
|
|
||||||
// err := sa.Stop()
|
|
||||||
// if err != nil {
|
|
||||||
// return err
|
|
||||||
// }
|
|
||||||
|
|
||||||
// Start(id) starts up the node (relevant only for instance with own p2p or remote)
|
// Start(id) starts up the node (relevant only for instance with own p2p or remote)
|
||||||
func (self *Network) Start(id *adapters.NodeId) error {
|
func (self *Network) Start(id *adapters.NodeId) error {
|
||||||
node := self.GetNode(id)
|
node := self.GetNode(id)
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,8 @@ type Network struct {
|
||||||
|
|
||||||
// SimNode is the adapter used by Swarm simulations.
|
// SimNode is the adapter used by Swarm simulations.
|
||||||
type SimNode struct {
|
type SimNode struct {
|
||||||
hive *network.Hive
|
connect func(s string) error
|
||||||
|
hive *network.Hive
|
||||||
adapters.NodeAdapter
|
adapters.NodeAdapter
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -41,11 +42,7 @@ func af() <-chan time.Time {
|
||||||
// Start() starts up the hive
|
// Start() starts up the hive
|
||||||
// makes SimNode implement *NodeAdapter
|
// makes SimNode implement *NodeAdapter
|
||||||
func (self *SimNode) Start() error {
|
func (self *SimNode) Start() error {
|
||||||
connect := func(s string) error {
|
return self.hive.Start(self.connect, af)
|
||||||
id := network.HexToBytes(s)
|
|
||||||
return self.Connect(id)
|
|
||||||
}
|
|
||||||
return self.hive.Start(connect, af)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Stop() shuts down the hive
|
// Stop() shuts down the hive
|
||||||
|
|
@ -64,14 +61,18 @@ func (self *Network) NewSimNode(conf *simulations.NodeConfig) adapters.NodeAdapt
|
||||||
id := conf.Id
|
id := conf.Id
|
||||||
na := adapters.NewSimNode(id, self.Network, adapters.NewSimPipe)
|
na := adapters.NewSimNode(id, self.Network, adapters.NewSimPipe)
|
||||||
addr := network.NewPeerAddrFromNodeId(id)
|
addr := network.NewPeerAddrFromNodeId(id)
|
||||||
// to := network.NewKademlia(addr.OverlayAddr(), nil) // overlay topology driver
|
// to := network.NewKademlia(addr.OverlayAddr(), nil) // overlay topology driver
|
||||||
to := network.NewTestOverlay(addr.OverlayAddr()) // overlay topology driver
|
to := network.NewTestOverlay(addr.OverlayAddr()) // overlay topology driver
|
||||||
pp := network.NewHive(network.NewHiveParams(), to) // hive
|
pp := network.NewHive(network.NewHiveParams(), to) // hive
|
||||||
self.hives = append(self.hives, pp) // remember hive
|
self.hives = append(self.hives, pp) // remember hive
|
||||||
// bzz protocol Run function. messaging through SimPipe
|
// bzz protocol Run function. messaging through SimPipe
|
||||||
ct := network.BzzCodeMap(network.HiveMsgs...) // bzz protocol code map
|
ct := network.BzzCodeMap(network.HiveMsgs...) // bzz protocol code map
|
||||||
na.Run = network.Bzz(addr.OverlayAddr(), pp, na, ct, nil).Run
|
na.Run = network.Bzz(addr.OverlayAddr(), pp, na, ct, nil).Run
|
||||||
|
connect := func(s string) error {
|
||||||
|
return self.Connect(id, adapters.NewNodeIdFromHex(s))
|
||||||
|
}
|
||||||
return &SimNode{
|
return &SimNode{
|
||||||
|
connect: connect,
|
||||||
hive: pp,
|
hive: pp,
|
||||||
NodeAdapter: na,
|
NodeAdapter: na,
|
||||||
}
|
}
|
||||||
|
|
@ -106,7 +107,7 @@ func NewSessionController() (*simulations.ResourceController, chan bool) {
|
||||||
if parent != nil {
|
if parent != nil {
|
||||||
parent.SetResource(conf.Id, c)
|
parent.SetResource(conf.Id, c)
|
||||||
}
|
}
|
||||||
ids := p2ptest.RandomNodeIds(5)
|
ids := p2ptest.RandomNodeIds(50)
|
||||||
for _, id := range ids {
|
for _, id := range ids {
|
||||||
ppnet.NewNode(&simulations.NodeConfig{Id: id})
|
ppnet.NewNode(&simulations.NodeConfig{Id: id})
|
||||||
ppnet.Start(id)
|
ppnet.Start(id)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue