|
@@ -21,7 +21,7 @@ type transporter struct {
|
|
|
// response struct
|
|
// response struct
|
|
|
type transporterResponse struct {
|
|
type transporterResponse struct {
|
|
|
resp *http.Response
|
|
resp *http.Response
|
|
|
- err error
|
|
|
|
|
|
|
+ err error
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// Create transporter using by raft server
|
|
// Create transporter using by raft server
|
|
@@ -162,11 +162,11 @@ func (t *transporter) SendSnapshotRecoveryRequest(server *raft.Server, peer *raf
|
|
|
func (t *transporter) Post(path string, body io.Reader) (*http.Response, error) {
|
|
func (t *transporter) Post(path string, body io.Reader) (*http.Response, error) {
|
|
|
|
|
|
|
|
c := make(chan *transporterResponse, 1)
|
|
c := make(chan *transporterResponse, 1)
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
go func() {
|
|
go func() {
|
|
|
tr := new(transporterResponse)
|
|
tr := new(transporterResponse)
|
|
|
tr.resp, tr.err = t.client.Post(path, "application/json", body)
|
|
tr.resp, tr.err = t.client.Post(path, "application/json", body)
|
|
|
- c <-tr
|
|
|
|
|
|
|
+ c <- tr
|
|
|
}()
|
|
}()
|
|
|
|
|
|
|
|
return t.waitResponse(c)
|
|
return t.waitResponse(c)
|
|
@@ -177,11 +177,11 @@ func (t *transporter) Post(path string, body io.Reader) (*http.Response, error)
|
|
|
func (t *transporter) Get(path string) (*http.Response, error) {
|
|
func (t *transporter) Get(path string) (*http.Response, error) {
|
|
|
|
|
|
|
|
c := make(chan *transporterResponse, 1)
|
|
c := make(chan *transporterResponse, 1)
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
go func() {
|
|
go func() {
|
|
|
tr := new(transporterResponse)
|
|
tr := new(transporterResponse)
|
|
|
tr.resp, tr.err = t.client.Get(path)
|
|
tr.resp, tr.err = t.client.Get(path)
|
|
|
- c <-tr
|
|
|
|
|
|
|
+ c <- tr
|
|
|
}()
|
|
}()
|
|
|
|
|
|
|
|
return t.waitResponse(c)
|
|
return t.waitResponse(c)
|
|
@@ -195,10 +195,10 @@ func (t *transporter) waitResponse(responseChan chan *transporterResponse) (*htt
|
|
|
case <-timeoutChan:
|
|
case <-timeoutChan:
|
|
|
return nil, fmt.Errorf("Wait Response Timeout: %v", t.timeout)
|
|
return nil, fmt.Errorf("Wait Response Timeout: %v", t.timeout)
|
|
|
|
|
|
|
|
- case r:= <-responseChan:
|
|
|
|
|
|
|
+ case r := <-responseChan:
|
|
|
return r.resp, r.err
|
|
return r.resp, r.err
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// for complier
|
|
// for complier
|
|
|
return nil, nil
|
|
return nil, nil
|
|
|
-}
|
|
|
|
|
|
|
+}
|