|
|
- package types
-
- import (
- "fmt"
- "time"
-
- "github.com/tendermint/tendermint/types"
- cmn "github.com/tendermint/tmlibs/common"
- )
-
- //-----------------------------------------------------------------------------
-
- // PeerRoundState contains the known state of a peer.
- // NOTE: Read-only when returned by PeerState.GetRoundState().
- type PeerRoundState struct {
- Height int64 // Height peer is at
- Round int // Round peer is at, -1 if unknown.
- Step RoundStepType // Step peer is at
- StartTime time.Time // Estimated start of round 0 at this height
- Proposal bool // True if peer has proposal for this round
- ProposalBlockPartsHeader types.PartSetHeader //
- ProposalBlockParts *cmn.BitArray //
- ProposalPOLRound int // Proposal's POL round. -1 if none.
- ProposalPOL *cmn.BitArray // nil until ProposalPOLMessage received.
- Prevotes *cmn.BitArray // All votes peer has for this round
- Precommits *cmn.BitArray // All precommits peer has for this round
- LastCommitRound int // Round of commit for last height. -1 if none.
- LastCommit *cmn.BitArray // All commit precommits of commit for last height.
- CatchupCommitRound int // Round that we have commit for. Not necessarily unique. -1 if none.
- CatchupCommit *cmn.BitArray // All commit precommits peer has for this height & CatchupCommitRound
- }
-
- // String returns a string representation of the PeerRoundState
- func (prs PeerRoundState) String() string {
- return prs.StringIndented("")
- }
-
- // StringIndented returns a string representation of the PeerRoundState
- func (prs PeerRoundState) StringIndented(indent string) string {
- return fmt.Sprintf(`PeerRoundState{
- %s %v/%v/%v @%v
- %s Proposal %v -> %v
- %s POL %v (round %v)
- %s Prevotes %v
- %s Precommits %v
- %s LastCommit %v (round %v)
- %s Catchup %v (round %v)
- %s}`,
- indent, prs.Height, prs.Round, prs.Step, prs.StartTime,
- indent, prs.ProposalBlockPartsHeader, prs.ProposalBlockParts,
- indent, prs.ProposalPOL, prs.ProposalPOLRound,
- indent, prs.Prevotes,
- indent, prs.Precommits,
- indent, prs.LastCommit, prs.LastCommitRound,
- indent, prs.CatchupCommit, prs.CatchupCommitRound,
- indent)
- }
|