| 
    rippled
    
   | 
 
Slots is a container for validator's Slot and handles Slot update when a message is received from a validator. More...

Public Member Functions | |
| Slots (Logs &logs, SquelchHandler const &handler) | |
| ~Slots ()=default | |
| void | updateSlotAndSquelch (uint256 const &key, PublicKey const &validator, id_t id, protocol::MessageType type) | 
| Calls Slot::update of Slot associated with the validator.  More... | |
| void | deleteIdlePeers () | 
| Check if peers stopped relaying messages and if slots stopped receiving messages from the validator.  More... | |
| std::optional< std::uint16_t > | inState (PublicKey const &validator, PeerState state) const | 
| Return number of peers in state.  More... | |
| std::optional< std::uint16_t > | notInState (PublicKey const &validator, PeerState state) const | 
| Return number of peers not in state.  More... | |
| bool | inState (PublicKey const &validator, SlotState state) const | 
| Return true if Slot is in state.  More... | |
| std::set< id_t > | getSelected (PublicKey const &validator) | 
| Get selected peers.  More... | |
| std::unordered_map< typename Peer::id_t, std::tuple< PeerState, uint16_t, uint32_t, std::uint32_t > > | getPeers (PublicKey const &validator) | 
| Get peers info.  More... | |
| std::optional< SlotState > | getState (PublicKey const &validator) | 
| Get Slot's state.  More... | |
| void | deletePeer (id_t id, bool erase) | 
| Called when a peer is deleted.  More... | |
Private Types | |
| using | time_point = typename clock_type::time_point | 
| using | id_t = typename Peer::id_t | 
| using | messages = beast::aged_unordered_map< uint256, std::unordered_set< Peer::id_t >, clock_type, hardened_hash< strong_hash > > | 
Private Member Functions | |
| bool | addPeerMessage (uint256 const &key, id_t id) | 
| Add message/peer if have not seen this message from the peer.  More... | |
Private Attributes | |
| hash_map< PublicKey, Slot< clock_type > > | slots_ | 
| SquelchHandler const & | handler_ | 
| Logs & | logs_ | 
| const beast::Journal | journal_ | 
Static Private Attributes | |
| static messages | peersWithMessage_ | 
Slots is a container for validator's Slot and handles Slot update when a message is received from a validator.
It also handles Slot aging and checks for peers which are disconnected or stopped relaying the messages.
Definition at line 46 of file overlay/Slot.h.
      
  | 
  private | 
Definition at line 534 of file overlay/Slot.h.
      
  | 
  private | 
Definition at line 535 of file overlay/Slot.h.
      
  | 
  private | 
Definition at line 540 of file overlay/Slot.h.
| ripple::reduce_relay::Slots< clock_type >::Slots | ( | Logs & | logs, | 
| SquelchHandler const & | handler | ||
| ) | 
| app | Applicaton reference | 
| handler | Squelch/unsquelch implementation | 
Definition at line 547 of file overlay/Slot.h.
      
  | 
  default | 
| void ripple::reduce_relay::Slots< clock_type >::updateSlotAndSquelch | ( | uint256 const & | key, | 
| PublicKey const & | validator, | ||
| id_t | id, | ||
| protocol::MessageType | type | ||
| ) | 
Calls Slot::update of Slot associated with the validator.
| key | Message's hash | 
| validator | Validator's public key | 
| id | Peer's id which received the message | 
| type | Received protocol message type | 
Definition at line 698 of file overlay/Slot.h.
| void ripple::reduce_relay::Slots< clock_type >::deleteIdlePeers | 
Check if peers stopped relaying messages and if slots stopped receiving messages from the validator.
Definition at line 733 of file overlay/Slot.h.
| std::optional<std::uint16_t> ripple::reduce_relay::Slots< clock_type >::inState | ( | PublicKey const & | validator, | 
| PeerState | state | ||
| ) | const | 
Return number of peers in state.
Definition at line 573 of file overlay/Slot.h.
| std::optional<std::uint16_t> ripple::reduce_relay::Slots< clock_type >::notInState | ( | PublicKey const & | validator, | 
| PeerState | state | ||
| ) | const | 
Return number of peers not in state.
Definition at line 583 of file overlay/Slot.h.
| bool ripple::reduce_relay::Slots< clock_type >::inState | ( | PublicKey const & | validator, | 
| SlotState | state | ||
| ) | const | 
Return true if Slot is in state.
Definition at line 593 of file overlay/Slot.h.
| std::set<id_t> ripple::reduce_relay::Slots< clock_type >::getSelected | ( | PublicKey const & | validator | ) | 
Get selected peers.
Definition at line 603 of file overlay/Slot.h.
| std::unordered_map< typename Peer::id_t, std::tuple<PeerState, uint16_t, uint32_t, std::uint32_t> > ripple::reduce_relay::Slots< clock_type >::getPeers | ( | PublicKey const & | validator | ) | 
Get peers info.
Return map of peer's state, count, and squelch expiration milliseconds.
Definition at line 617 of file overlay/Slot.h.
| std::optional<SlotState> ripple::reduce_relay::Slots< clock_type >::getState | ( | PublicKey const & | validator | ) | 
Get Slot's state.
Definition at line 627 of file overlay/Slot.h.
| void ripple::reduce_relay::Slots< clock_type >::deletePeer | ( | id_t | id, | 
| bool | erase | ||
| ) | 
Called when a peer is deleted.
If the peer was selected to be the source of messages from the validator then squelched peers have to be unsquelched.
| id | Peer's id | 
| erase | If true then erase the peer | 
Definition at line 725 of file overlay/Slot.h.
      
  | 
  private | 
Add message/peer if have not seen this message from the peer.
A message is aged after IDLED seconds. Return true if added
Definition at line 665 of file overlay/Slot.h.
      
  | 
  private | 
Definition at line 651 of file overlay/Slot.h.
      
  | 
  private | 
Definition at line 652 of file overlay/Slot.h.
      
  | 
  private | 
Definition at line 653 of file overlay/Slot.h.
      
  | 
  private | 
Definition at line 654 of file overlay/Slot.h.
      
  | 
  staticprivate | 
Definition at line 659 of file overlay/Slot.h.
 1.8.17