Use peer count sent back by service
This commit is contained in:
1 parent
0ca125ff2c
commit
6321512ddb
2 files changed
+7
-3
No files matched your search
@@ -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
@@ -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)
|
||||
|
||||
Reference in new issue
Block a user