Refactor FullMeshLinked and ConnectAll()
License: MIT Signed-off-by: rht <rhtbot@gmail.com>
rht committed
Aug 28, 2015 at 17:39 UTC
63c7741fb9fb19dc2c3e95ea622f947c30cb9c7a
4 files changed
+7
-19
p2p/net/mock/interface.go
+1
@@ -60,6 +60,7 @@ type Mocknet interface {
60
DisconnectPeers(peer.ID, peer.ID) error
61
DisconnectNets(inet.Network, inet.Network) error
62
LinkAll() error
63
+ ConnectAllButSelf() error
64
}
65
66
// LinkOptions are used to change aspects of the links.
p2p/net/mock/mock.go
+2
-8
@@ -28,14 +28,8 @@ func FullMeshLinked(ctx context.Context, n int) (Mocknet, error) {
28
return nil, err
29
}
30
31
- nets := m.Nets()
32
- for _, n1 := range nets {
33
- for _, n2 := range nets {
34
- // yes, even self.
35
- if _, err := m.LinkNets(n1, n2); err != nil {
36
- return nil, err
37
- }
38
- }
31
+ if err := m.LinkAll(); err != nil {
32
+ return nil, err
33
}
34
35
return m, nil
p2p/net/mock/mock_net.go
+1
-1
@@ -296,7 +296,7 @@ func (mn *mocknet) removeLink(l *link) {
296
delete(*mn.linksMapGet(n2.peer, n1.peer), l)
297
}
298
299
-func (mn *mocknet) ConnectAll() error {
299
+func (mn *mocknet) ConnectAllButSelf() error {
300
nets := mn.Nets()
301
for _, n1 := range nets {
302
for _, n2 := range nets {
p2p/net/mock/mock_notif_test.go
+3
-10
@@ -28,16 +28,9 @@ func TestNotifications(t *testing.T) {
28
notifiees[i] = n
29
}
30
31
- // connect all
32
- for _, n1 := range nets {
33
- for _, n2 := range nets {
34
- if n1 == n2 {
35
- continue
36
- }
37
- if _, err := mn.ConnectNets(n1, n2); err != nil {
38
- t.Fatal(err)
39
- }
40
- }
31
+ // connect all but self
32
+ if err := mn.ConnectAllButSelf(); err != nil {
33
+ t.Fatal(err)
34
}
35
36
// test everyone got the correct connection opened calls