mirror of
https://github.com/status-im/simulation.git
synced 2025-02-23 04:18:09 +00:00
Fix issue with repeated links
This commit is contained in:
parent
66831417cb
commit
0a792009b6
@ -80,12 +80,15 @@ func NewSimulator(data *graph.Graph) *Simulator {
|
|||||||
sub := sim.network.Events().Subscribe(events)
|
sub := sim.network.Events().Subscribe(events)
|
||||||
defer sub.Unsubscribe()
|
defer sub.Unsubscribe()
|
||||||
|
|
||||||
|
count := 0
|
||||||
go func() {
|
go func() {
|
||||||
log.Println("Connecting nodes...")
|
log.Println("Connecting nodes...")
|
||||||
for _, link := range data.Links() {
|
for _, link := range data.Links() {
|
||||||
err := sim.connectNodes(link.From, link.To)
|
err := sim.connectNodes(link.From, link.To)
|
||||||
if err != nil && err != ErrLinkExists {
|
if err != nil && err != ErrLinkExists {
|
||||||
log.Fatalf("[ERROR] Can't connect nodes %d and %d: %s", link.From, link.To, err)
|
log.Fatalf("[ERROR] Can't connect nodes %d and %d: %s", link.From, link.To, err)
|
||||||
|
} else if err == nil {
|
||||||
|
count++
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
@ -93,7 +96,7 @@ func NewSimulator(data *graph.Graph) *Simulator {
|
|||||||
// wait for all nodes to establish connections
|
// wait for all nodes to establish connections
|
||||||
var connected int
|
var connected int
|
||||||
var subErr error
|
var subErr error
|
||||||
for connected < len(data.Links()) && subErr == nil {
|
for connected < count && subErr == nil {
|
||||||
select {
|
select {
|
||||||
case event := <-events:
|
case event := <-events:
|
||||||
if event.Type == simulations.EventTypeConn {
|
if event.Type == simulations.EventTypeConn {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user