rippled
Loading...
Searching...
No Matches
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...

#include <RCLCxPeerPos.h>

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.
 
bool checkSign () const
 Verify the signing hash of the proposal.
 
Slice signature () const
 Signature of the proposal (not necessarily verified)
 
PublicKey const & publicKey () const
 Public key of peer that sent the proposal.
 
uint256 const & suppressionID () const
 Unique id used by hash router to suppress duplicates.
 
Proposal const & proposal () const
 
Json::Value getJson () const
 JSON representation of proposal.
 
std::string render () const
 

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 24 of file RCLCxPeerPos.h.

Member Typedef Documentation

◆ Proposal

Definition at line 28 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 9 of file RCLCxPeerPos.cpp.

Member Function Documentation

◆ checkSign()

bool ripple::RCLCxPeerPos::checkSign ( ) const

Verify the signing hash of the proposal.

Definition at line 29 of file RCLCxPeerPos.cpp.

◆ signature()

Slice ripple::RCLCxPeerPos::signature ( ) const

Signature of the proposal (not necessarily verified)

Definition at line 52 of file RCLCxPeerPos.h.

◆ publicKey()

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

Public key of peer that sent the proposal.

Definition at line 59 of file RCLCxPeerPos.h.

◆ suppressionID()

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

Unique id used by hash router to suppress duplicates.

Definition at line 66 of file RCLCxPeerPos.h.

◆ proposal()

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

Definition at line 72 of file RCLCxPeerPos.h.

◆ getJson()

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

JSON representation of proposal.

Definition at line 36 of file RCLCxPeerPos.cpp.

◆ render()

std::string ripple::RCLCxPeerPos::render ( ) const

Definition at line 82 of file RCLCxPeerPos.h.

◆ hash_append()

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

Definition at line 95 of file RCLCxPeerPos.h.

Member Data Documentation

◆ publicKey_

PublicKey ripple::RCLCxPeerPos::publicKey_
private

Definition at line 88 of file RCLCxPeerPos.h.

◆ suppression_

uint256 ripple::RCLCxPeerPos::suppression_
private

Definition at line 89 of file RCLCxPeerPos.h.

◆ proposal_

Proposal ripple::RCLCxPeerPos::proposal_
private

Definition at line 90 of file RCLCxPeerPos.h.

◆ signature_

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

Definition at line 91 of file RCLCxPeerPos.h.