clean up trans.go

release-0.4
Xiang Li 2013-08-11 11:56:18 -07:00
parent 8f3e6f340f
commit 8e48a20c85
3 changed files with 18 additions and 14 deletions

View File

@ -320,7 +320,7 @@ func startRaft(tlsConfig TLSConfig) {
if len(machine) == 0 {
continue
}
err = joinCluster(raftServer, machine)
err = joinCluster(raftServer, machine, tlsConfig.Scheme)
if err != nil {
if err.Error() == errors[103] {
fmt.Println(err)
@ -367,8 +367,6 @@ func startRaft(tlsConfig TLSConfig) {
func newTransporter(scheme string, tlsConf tls.Config) transporter {
t := transporter{}
t.scheme = scheme
tr := &http.Transport{
Dial: dialTimeout,
}
@ -577,7 +575,7 @@ func newCertPool(CAFile string) (tls.ClientAuthType, *x509.CertPool) {
}
// Send join requests to the leader.
func joinCluster(s *raft.Server, raftURL string) error {
func joinCluster(s *raft.Server, raftURL string, scheme string) error {
var b bytes.Buffer
command := &JoinCommand{
@ -595,7 +593,7 @@ func joinCluster(s *raft.Server, raftURL string) error {
panic("wrong type")
}
joinURL := url.URL{Host: raftURL, Scheme: raftTransporter.scheme, Path: "/join"}
joinURL := url.URL{Host: raftURL, Scheme: scheme, Path: "/join"}
debugf("Send Join Request to %s", raftURL)

View File

@ -12,7 +12,8 @@ import (
// Get all the current logs
func GetLogHttpHandler(w http.ResponseWriter, req *http.Request) {
debugf("[recv] GET %s/log", raftTransporter.scheme+raftServer.Name())
u, _ := nameToRaftURL(raftServer.Name())
debugf("[recv] GET %s/log", u)
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(http.StatusOK)
json.NewEncoder(w).Encode(raftServer.LogEntries())
@ -23,7 +24,8 @@ func VoteHttpHandler(w http.ResponseWriter, req *http.Request) {
rvreq := &raft.RequestVoteRequest{}
err := decodeJsonRequest(req, rvreq)
if err == nil {
debugf("[recv] POST %s/vote [%s]", raftTransporter.scheme+raftServer.Name(), rvreq.CandidateName)
u, _ := nameToRaftURL(raftServer.Name())
debugf("[recv] POST %s/vote [%s]", u, rvreq.CandidateName)
if resp := raftServer.RequestVote(rvreq); resp != nil {
w.WriteHeader(http.StatusOK)
json.NewEncoder(w).Encode(resp)
@ -40,7 +42,8 @@ func AppendEntriesHttpHandler(w http.ResponseWriter, req *http.Request) {
err := decodeJsonRequest(req, aereq)
if err == nil {
debugf("[recv] POST %s/log/append [%d]", raftTransporter.scheme+raftServer.Name(), len(aereq.Entries))
u, _ := nameToRaftURL(raftServer.Name())
debugf("[recv] POST %s/log/append [%d]", u, len(aereq.Entries))
if resp := raftServer.AppendEntries(aereq); resp != nil {
w.WriteHeader(http.StatusOK)
json.NewEncoder(w).Encode(resp)
@ -59,7 +62,8 @@ func SnapshotHttpHandler(w http.ResponseWriter, req *http.Request) {
aereq := &raft.SnapshotRequest{}
err := decodeJsonRequest(req, aereq)
if err == nil {
debugf("[recv] POST %s/snapshot/ ", raftTransporter.scheme+raftServer.Name())
u, _ := nameToRaftURL(raftServer.Name())
debugf("[recv] POST %s/snapshot/ ", u)
if resp := raftServer.RequestSnapshot(aereq); resp != nil {
w.WriteHeader(http.StatusOK)
json.NewEncoder(w).Encode(resp)
@ -75,7 +79,8 @@ func SnapshotRecoveryHttpHandler(w http.ResponseWriter, req *http.Request) {
aereq := &raft.SnapshotRecoveryRequest{}
err := decodeJsonRequest(req, aereq)
if err == nil {
debugf("[recv] POST %s/snapshotRecovery/ ", raftTransporter.scheme+raftServer.Name())
u, _ := nameToRaftURL(raftServer.Name())
debugf("[recv] POST %s/snapshotRecovery/ ", u)
if resp := raftServer.SnapshotRecoveryRequest(aereq); resp != nil {
w.WriteHeader(http.StatusOK)
json.NewEncoder(w).Encode(resp)
@ -88,7 +93,8 @@ func SnapshotRecoveryHttpHandler(w http.ResponseWriter, req *http.Request) {
// Get the port that listening for etcd connecting of the server
func EtcdURLHttpHandler(w http.ResponseWriter, req *http.Request) {
debugf("[recv] Get %s/etcdURL/ ", raftTransporter.scheme+raftServer.Name())
u, _ := nameToRaftURL(raftServer.Name())
debugf("[recv] Get %s/etcdURL/ ", u)
w.WriteHeader(http.StatusOK)
w.Write([]byte(argInfo.EtcdURL))
}
@ -109,7 +115,9 @@ func JoinHttpHandler(w http.ResponseWriter, req *http.Request) {
// Response to the name request
func NameHttpHandler(w http.ResponseWriter, req *http.Request) {
debugf("[recv] Get %s/name/ ", raftTransporter.scheme+raftServer.Name())
u, _ := nameToRaftURL(raftServer.Name())
debugf("[recv] Get %s/name/ ", u)
w.WriteHeader(http.StatusOK)
w.Write([]byte(raftServer.Name()))
}

View File

@ -12,8 +12,6 @@ import (
// Transporter layer for communication between raft nodes
type transporter struct {
client *http.Client
// scheme
scheme string
}
// Sends AppendEntries RPCs to a peer when the server is the leader.