ceremonyclient/node/consensus/data/internal/peer_candidate.go
2024-11-13 10:43:28 -06:00

26 lines
590 B
Go

package internal
// PeerCandidate is a candidate for a peer to be used for syncing.
type PeerCandidate struct {
PeerID []byte
MaxFrame uint64
}
// WeightedPeerCandidate is a weighted peer candidate.
type WeightedPeerCandidate struct {
PeerCandidate
Weight float64
}
var _ Weighted[PeerCandidate] = (*WeightedPeerCandidate)(nil)
// GetItem implements Weighted[PeerCandidate].
func (p WeightedPeerCandidate) GetItem() PeerCandidate {
return p.PeerCandidate
}
// GetWeight implements Weighted[PeerCandidate].
func (p WeightedPeerCandidate) GetWeight() float64 {
return p.Weight
}