mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-27 15:16:43 +00:00
WIP
This commit is contained in:
parent
3a4aee8087
commit
aaeb8497a0
3 changed files with 6 additions and 14 deletions
|
|
@ -225,8 +225,7 @@ func (self *SimNode) Start(snapshot []byte) error {
|
|||
services := []node.ServiceConstructor{}
|
||||
|
||||
|
||||
// we need to control the order of the services
|
||||
// for example, bzz needs to start before pss
|
||||
// so we can control the order of the services if we need
|
||||
for _, name := range self.config.Services {
|
||||
service := self.serviceFuncs[name](self.Id, snapshot)
|
||||
services = append(services, func(ctx *node.ServiceContext) (node.Service, error) {
|
||||
|
|
|
|||
|
|
@ -205,10 +205,11 @@ func RandomNodeConfig() *NodeConfig {
|
|||
}
|
||||
|
||||
// Services is a collection of services which can be run in a simulation
|
||||
// it is mapped to strings representing TYPES of nodes
|
||||
type Services map[string]ServiceFunc
|
||||
|
||||
// ServiceFunc returns a node.Service which can be used to boot devp2p nodes
|
||||
type ServiceFunc func(id *NodeId, snapshot []byte) node.Service
|
||||
type ServiceFunc func(id *NodeId, snapshot []byte) []node.Service
|
||||
|
||||
// serviceFuncs is a map of registered services which are used to boot devp2p
|
||||
// nodes
|
||||
|
|
|
|||
|
|
@ -177,6 +177,7 @@ func TestPssSimpleLinear(t *testing.T) {
|
|||
nodeconfig := adapters.RandomNodeConfig()
|
||||
addr := network.NewAddrFromNodeId(nodeconfig.Id)
|
||||
ps := newTestPss(addr.OAddr)
|
||||
ps.Register(pssPingTopic, pssPingHandler)
|
||||
pt := p2ptest.NewProtocolTester(t, nodeconfig.Id, 2, newServices(), ps.Protocols()[0].Run)
|
||||
|
||||
msg := newPssPingMsg(ps, pssPingProtocol, pssPingTopic, []byte{1,2,3})
|
||||
|
|
@ -347,11 +348,7 @@ func triggerChecks(trigger chan *adapters.NodeId, net *simulations.Network, id *
|
|||
|
||||
func newServices() adapters.Services {
|
||||
|
||||
bzzs := make(map[*adapters.NodeId]*network.Bzz)
|
||||
|
||||
adaptersservices := make(map[string]adapters.ServiceFunc)
|
||||
|
||||
adaptersservices["bzz"] = func(id *adapters.NodeId, snapshot []byte) node.Service {
|
||||
return func(id *adapters.NodeId, snapshot []byte) []node.Service {
|
||||
// setup hive
|
||||
addr := network.NewAddrFromNodeId(id)
|
||||
|
||||
|
|
@ -371,12 +368,8 @@ func newServices() adapters.Services {
|
|||
|
||||
config.HiveParams.KeepAliveInterval = time.Second
|
||||
|
||||
bzzs[id] = network.NewBzz(config)
|
||||
|
||||
return bzzs[id]
|
||||
}
|
||||
network.NewBzz(config)
|
||||
|
||||
adaptersservices["pss"] = func(id *adapters.NodeId, snapshot []byte) node.Service {
|
||||
// pss setup
|
||||
cachedir, err := ioutil.TempDir("", "pss-cache")
|
||||
if err != nil {
|
||||
|
|
@ -395,7 +388,6 @@ func newServices() adapters.Services {
|
|||
return NewPss(bzzs[id].Kademlia, dpa, pssp)
|
||||
}
|
||||
|
||||
return adaptersservices
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
|||
Loading…
Reference in a new issue