Use peer count sent back by service

This commit is contained in:
Bryan Boreham committed 2017-04-10 16:42:47 +00:00
1 parent 0ca125ff2c
commit 6321512ddb
2 files changed
+7 -3

No files matched your search

+3 -2
View File
@@ -23,6 +23,7 @@ type PeerUpdateRequest struct {
type PeerUpdateResponse struct {
Addresses []string `json:"addresses"`
PeerCount int `json:"peercount"`
}
var httpClient = &http.Client{Timeout: 30 * time.Second}
@@ -58,7 +59,7 @@ func do(verb string, discoveryEndpoint, token string, request interface{}, respo
return err
}
func peerDiscoveryUpdate(discoveryEndpoint, token, peername, nickname string, addresses []string) ([]string, error) {
func peerDiscoveryUpdate(discoveryEndpoint, token, peername, nickname string, addresses []string) ([]string, int, error) {
request := PeerUpdateRequest{
Name: peername,
Nickname: nickname,
@@ -66,7 +67,7 @@ func peerDiscoveryUpdate(discoveryEndpoint, token, peername, nickname string, ad
}
var updateResponse PeerUpdateResponse
err := do("POST", discoveryEndpoint, token, request, &updateResponse)
return updateResponse.Addresses, err
return updateResponse.Addresses, updateResponse.PeerCount, err
}
func peerDiscoveryDelete(discoveryEndpoint, token, peername string) error {
+4 -1
View File
@@ -278,8 +278,11 @@ func main() {
} else {
addresses = strings.Split(advertiseAddress, ",")
}
discoveredPeers, err := peerDiscoveryUpdate(discoveryEndpoint, token, name.String(), nickName, addresses)
discoveredPeers, count, err := peerDiscoveryUpdate(discoveryEndpoint, token, name.String(), nickName, addresses)
checkFatal(err)
if !ipamConfig.HasMode() {
ipamConfig.PeerCount = len(peers) + count
}
peers = append(peers, discoveredPeers...)
} else if peers, err = router.InitialPeers(resume, peers); err != nil {
Log.Fatal("Unable to get initial peer set: ", err)