sender: use RoundTripper instead of Client in sender
parent
0772987128
commit
23b5bc0dfe
|
@ -100,9 +100,8 @@ func (h *sendHub) Add(m *Member) {
|
|||
}
|
||||
// TODO: considering how to switch between all available peer urls
|
||||
u := fmt.Sprintf("%s%s", m.PickPeerURL(), raftPrefix)
|
||||
c := &http.Client{Transport: h.tr}
|
||||
fs := h.ls.Follower(m.ID.String())
|
||||
s := newSender(u, h.cl.ID(), c, fs)
|
||||
s := newSender(h.tr, u, h.cl.ID(), fs)
|
||||
h.senders[m.ID] = s
|
||||
}
|
||||
|
||||
|
@ -129,19 +128,19 @@ func (h *sendHub) Update(m *Member) {
|
|||
}
|
||||
|
||||
type sender struct {
|
||||
tr http.RoundTripper
|
||||
u string
|
||||
cid types.ID
|
||||
c *http.Client
|
||||
fs *stats.FollowerStats
|
||||
q chan []byte
|
||||
mu sync.RWMutex
|
||||
}
|
||||
|
||||
func newSender(u string, cid types.ID, c *http.Client, fs *stats.FollowerStats) *sender {
|
||||
func newSender(tr http.RoundTripper, u string, cid types.ID, fs *stats.FollowerStats) *sender {
|
||||
s := &sender{
|
||||
tr: tr,
|
||||
u: u,
|
||||
cid: cid,
|
||||
c: c,
|
||||
fs: fs,
|
||||
q: make(chan []byte),
|
||||
}
|
||||
|
@ -188,7 +187,7 @@ func (s *sender) post(data []byte) error {
|
|||
}
|
||||
req.Header.Set("Content-Type", "application/protobuf")
|
||||
req.Header.Set("X-Etcd-Cluster-ID", s.cid.String())
|
||||
resp, err := s.c.Do(req)
|
||||
resp, err := s.tr.RoundTrip(req)
|
||||
if err != nil {
|
||||
return fmt.Errorf("error posting to %q: %v", req.URL.String(), err)
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue