etcdserver: not add sender when it has existed
This commit is contained in:
@ -92,6 +92,9 @@ func (h *sendHub) Stop() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (h *sendHub) Add(m *Member) {
|
func (h *sendHub) Add(m *Member) {
|
||||||
|
if _, ok := h.senders[m.ID]; ok {
|
||||||
|
return
|
||||||
|
}
|
||||||
// TODO: considering how to switch between all available peer urls
|
// TODO: considering how to switch between all available peer urls
|
||||||
u := fmt.Sprintf("%s%s", m.PickPeerURL(), raftPrefix)
|
u := fmt.Sprintf("%s%s", m.PickPeerURL(), raftPrefix)
|
||||||
c := &http.Client{Transport: h.tr}
|
c := &http.Client{Transport: h.tr}
|
||||||
|
@ -61,6 +61,12 @@ func TestSendHubAdd(t *testing.T) {
|
|||||||
if s.u != "http://a/raft" {
|
if s.u != "http://a/raft" {
|
||||||
t.Errorf("url = %s, want %s", s.u, "http://a/raft")
|
t.Errorf("url = %s, want %s", s.u, "http://a/raft")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
h.Add(m)
|
||||||
|
ns := h.senders[types.ID(1)]
|
||||||
|
if s != ns {
|
||||||
|
t.Errorf("sender = %p, want %p", ns, s)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestSendHubRemove(t *testing.T) {
|
func TestSendHubRemove(t *testing.T) {
|
||||||
|
Reference in New Issue
Block a user