rippled
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
ripple::RCLCxPeerPos Class Reference

A peer's signed, proposed position for use in RCLConsensus. More...

Collaboration diagram for ripple::RCLCxPeerPos:
Collaboration graph
[legend]

Public Types

using Proposal = ConsensusProposal< NodeID, uint256, uint256 >
 

Public Member Functions

 RCLCxPeerPos (PublicKey const &publicKey, Slice const &signature, uint256 const &suppress, Proposal &&proposal)
 Constructor. More...
 
bool checkSign () const
 Verify the signing hash of the proposal. More...
 
Slice signature () const
 Signature of the proposal (not necessarily verified) More...
 
PublicKey const & publicKey () const
 Public key of peer that sent the proposal. More...
 
uint256 const & suppressionID () const
 Unique id used by hash router to suppress duplicates. More...
 
Proposal const & proposal () const
 
Json::Value getJson () const
 JSON representation of proposal. More...
 

Private Member Functions

template<class Hasher >
void hash_append (Hasher &h) const
 

Private Attributes

PublicKey publicKey_
 
uint256 suppression_
 
Proposal proposal_
 
boost::container::static_vector< std::uint8_t, 72 > signature_
 

Detailed Description

A peer's signed, proposed position for use in RCLConsensus.

Carries a ConsensusProposal signed by a peer. Provides value semantics but manages shared storage of the peer position internally.

Definition at line 43 of file RCLCxPeerPos.h.

Member Typedef Documentation

◆ Proposal

Definition at line 47 of file RCLCxPeerPos.h.

Constructor & Destructor Documentation

◆ RCLCxPeerPos()

ripple::RCLCxPeerPos::RCLCxPeerPos ( PublicKey const &  publicKey,
Slice const &  signature,
uint256 const &  suppress,
Proposal &&  proposal 
)

Constructor.

Constructs a signed peer position.

Parameters
publicKeyPublic key of the peer
signatureSignature provided with the proposal
suppressUnique id used for hash router suppression
proposalThe consensus proposal

Definition at line 30 of file RCLCxPeerPos.cpp.

Member Function Documentation

◆ checkSign()

bool ripple::RCLCxPeerPos::checkSign ( ) const

Verify the signing hash of the proposal.

Definition at line 48 of file RCLCxPeerPos.cpp.

◆ signature()

Slice ripple::RCLCxPeerPos::signature ( ) const

Signature of the proposal (not necessarily verified)

Definition at line 71 of file RCLCxPeerPos.h.

◆ publicKey()

PublicKey const& ripple::RCLCxPeerPos::publicKey ( ) const

Public key of peer that sent the proposal.

Definition at line 78 of file RCLCxPeerPos.h.

◆ suppressionID()

uint256 const& ripple::RCLCxPeerPos::suppressionID ( ) const

Unique id used by hash router to suppress duplicates.

Definition at line 85 of file RCLCxPeerPos.h.

◆ proposal()

Proposal const& ripple::RCLCxPeerPos::proposal ( ) const

Definition at line 91 of file RCLCxPeerPos.h.

◆ getJson()

Json::Value ripple::RCLCxPeerPos::getJson ( ) const

JSON representation of proposal.

Definition at line 55 of file RCLCxPeerPos.cpp.

◆ hash_append()

template<class Hasher >
void ripple::RCLCxPeerPos::hash_append ( Hasher &  h) const
private

Definition at line 108 of file RCLCxPeerPos.h.

Member Data Documentation

◆ publicKey_

PublicKey ripple::RCLCxPeerPos::publicKey_
private

Definition at line 101 of file RCLCxPeerPos.h.

◆ suppression_

uint256 ripple::RCLCxPeerPos::suppression_
private

Definition at line 102 of file RCLCxPeerPos.h.

◆ proposal_

Proposal ripple::RCLCxPeerPos::proposal_
private

Definition at line 103 of file RCLCxPeerPos.h.

◆ signature_

boost::container::static_vector<std::uint8_t, 72> ripple::RCLCxPeerPos::signature_
private

Definition at line 104 of file RCLCxPeerPos.h.