1
0
mirror of https://github.com/ipfs/kubo.git synced 2025-06-25 23:21:54 +08:00

Refactor FullMeshLinked and ConnectAll()

License: MIT
Signed-off-by: rht <rhtbot@gmail.com>
This commit is contained in:
rht
2015-08-28 17:39:05 +07:00
parent b55cf12ba5
commit 63c7741fb9
4 changed files with 7 additions and 19 deletions

View File

@ -60,6 +60,7 @@ type Mocknet interface {
DisconnectPeers(peer.ID, peer.ID) error
DisconnectNets(inet.Network, inet.Network) error
LinkAll() error
ConnectAllButSelf() error
}
// LinkOptions are used to change aspects of the links.

View File

@ -28,14 +28,8 @@ func FullMeshLinked(ctx context.Context, n int) (Mocknet, error) {
return nil, err
}
nets := m.Nets()
for _, n1 := range nets {
for _, n2 := range nets {
// yes, even self.
if _, err := m.LinkNets(n1, n2); err != nil {
return nil, err
}
}
if err := m.LinkAll(); err != nil {
return nil, err
}
return m, nil

View File

@ -296,7 +296,7 @@ func (mn *mocknet) removeLink(l *link) {
delete(*mn.linksMapGet(n2.peer, n1.peer), l)
}
func (mn *mocknet) ConnectAll() error {
func (mn *mocknet) ConnectAllButSelf() error {
nets := mn.Nets()
for _, n1 := range nets {
for _, n2 := range nets {

View File

@ -28,16 +28,9 @@ func TestNotifications(t *testing.T) {
notifiees[i] = n
}
// connect all
for _, n1 := range nets {
for _, n2 := range nets {
if n1 == n2 {
continue
}
if _, err := mn.ConnectNets(n1, n2); err != nil {
t.Fatal(err)
}
}
// connect all but self
if err := mn.ConnectAllButSelf(); err != nil {
t.Fatal(err)
}
// test everyone got the correct connection opened calls