|
@@ -29,7 +29,7 @@ type dialer func(network, addr string) (net.Conn, error)
|
|
|
// Create transporter using by raft server
|
|
// Create transporter using by raft server
|
|
|
// Create http or https transporter based on
|
|
// Create http or https transporter based on
|
|
|
// whether the user give the server cert and key
|
|
// whether the user give the server cert and key
|
|
|
-func NewTransporter(scheme string, tlsConf tls.Config, followersStats *raftFollowersStats, serverStats *raftServerStats, registry *Registry, dialTimeout, requestTimeout, responseHeaderTimeout time.Duration) *transporter {
|
|
|
|
|
|
|
+func NewTransporter(followersStats *raftFollowersStats, serverStats *raftServerStats, registry *Registry, dialTimeout, requestTimeout, responseHeaderTimeout time.Duration) *transporter {
|
|
|
tr := &http.Transport{
|
|
tr := &http.Transport{
|
|
|
Dial: func(network, addr string) (net.Conn, error) {
|
|
Dial: func(network, addr string) (net.Conn, error) {
|
|
|
return net.DialTimeout(network, addr, dialTimeout)
|
|
return net.DialTimeout(network, addr, dialTimeout)
|
|
@@ -37,11 +37,6 @@ func NewTransporter(scheme string, tlsConf tls.Config, followersStats *raftFollo
|
|
|
ResponseHeaderTimeout: responseHeaderTimeout,
|
|
ResponseHeaderTimeout: responseHeaderTimeout,
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- if scheme == "https" {
|
|
|
|
|
- tr.TLSClientConfig = &tlsConf
|
|
|
|
|
- tr.DisableCompression = true
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
t := transporter{
|
|
t := transporter{
|
|
|
client: &http.Client{Transport: tr},
|
|
client: &http.Client{Transport: tr},
|
|
|
transport: tr,
|
|
transport: tr,
|
|
@@ -54,6 +49,11 @@ func NewTransporter(scheme string, tlsConf tls.Config, followersStats *raftFollo
|
|
|
return &t
|
|
return &t
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+func (t *transporter) SetTLSConfig(tlsConf tls.Config) {
|
|
|
|
|
+ t.transport.TLSClientConfig = &tlsConf
|
|
|
|
|
+ t.transport.DisableCompression = true
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
// Sends AppendEntries RPCs to a peer when the server is the leader.
|
|
// Sends AppendEntries RPCs to a peer when the server is the leader.
|
|
|
func (t *transporter) SendAppendEntriesRequest(server raft.Server, peer *raft.Peer, req *raft.AppendEntriesRequest) *raft.AppendEntriesResponse {
|
|
func (t *transporter) SendAppendEntriesRequest(server raft.Server, peer *raft.Peer, req *raft.AppendEntriesRequest) *raft.AppendEntriesResponse {
|
|
|
var b bytes.Buffer
|
|
var b bytes.Buffer
|