diff --git a/models/peer/peer.go b/models/peer/peer.go index 91506b1..086a132 100644 --- a/models/peer/peer.go +++ b/models/peer/peer.go @@ -11,8 +11,9 @@ import ( type Peer struct { utils.AbstractObject - Url string `json:"url,omitempty" bson:"url,omitempty" validate:"required,base64url"` - PublicKey string `json:"public_key,omitempty" bson:"public_key,omitempty"` + Url string `json:"url,omitempty" bson:"url,omitempty" validate:"required,base64url"` + PublicKey string `json:"public_key,omitempty" bson:"public_key,omitempty"` + State tools.State `json:"state,omitempty" bson:"state,omitempty"` } func (ao *Peer) IsMySelf() bool { diff --git a/models/peer/peer_cache.go b/models/peer/peer_cache.go index f263e6c..c49f71a 100644 --- a/models/peer/peer_cache.go +++ b/models/peer/peer_cache.go @@ -55,19 +55,19 @@ func (p *PeerCache) checkPeerStatus(peerID string, caller *tools.HTTPCaller) boo return false } methods := caller.URLS[utils.PEER.String()] - fmt.Println("checkPeerStatus AFT 3", methods) if methods == nil { return false } meth := methods[tools.POST] - fmt.Println("checkPeerStatus AFT 4", meth) if meth == "" { return false } url := p.urlFormat(res.(*Peer).Url+meth, utils.PEER) - fmt.Println("checkPeerStatus AFT 4", url) state := api.CheckRemotePeer(url) + res.(*Peer).State = state + access.UpdateOne(res, peerID) + fmt.Printf("Peer %v is %v\n", peerID, state) return state != tools.DEAD }