Commit 8931a3ef authored by Petar Radovic's avatar Petar Radovic Committed by GitHub

fix full connectivity add peer and test (#25)

parent cc9f2dd6
......@@ -359,22 +359,36 @@ func TestConnectWithMockDiscovery(t *testing.T) {
s2, _, cleanup2 := newService(t, o2)
defer cleanup2()
s3, _, cleanup3 := newService(t, o2)
defer cleanup3()
addrs, err := s1.Addresses()
if err != nil {
t.Fatal(err)
}
addr := addrs[0]
overlay, err := s2.Connect(context.Background(), addr)
_, err = s2.Connect(context.Background(), addr)
if err != nil {
t.Fatal(err)
}
if v := disc2.Broadcasts(); v != 1 {
t.Fatalf("expected 1 peer broadcasts, got %d", v)
if v := disc2.Broadcasts(); v != 0 {
t.Fatalf("expected 0 peer broadcasts, got %d", v)
}
if err := s2.Disconnect(overlay); err != nil {
addrs, err = s3.Addresses()
if err != nil {
t.Fatal(err)
}
addr = addrs[0]
_, err = s2.Connect(context.Background(), addr)
if err != nil {
t.Fatal(err)
}
if v := disc2.Broadcasts(); v != 1 {
t.Fatalf("expected 1 peer broadcasts, got %d", v)
}
}
......@@ -46,7 +46,6 @@ func (d *driver) AddPeer(overlay swarm.Address) error {
d.mtx.Lock()
defer d.mtx.Unlock()
d.connected[overlay.String()] = overlay
ma, exists := d.addressBook.Get(overlay)
if !exists {
return topology.ErrNotFound
......@@ -58,6 +57,9 @@ func (d *driver) AddPeer(overlay swarm.Address) error {
return err
}
}
// add peer in the end to avoid broadcast to itself
d.connected[overlay.String()] = overlay
return nil
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment