| 
    Kagome
    
   Polkadot Runtime Engine in C++17 
   | 
 
#include <pool_moderator_impl.hpp>
Classes | |
| struct | Params | 
Public Member Functions | |
| PoolModeratorImpl (std::shared_ptr< clock::SystemClock > clock, Params parameters) | |
| ~PoolModeratorImpl () override=default | |
| void | ban (const common::Hash256 &tx_hash) override | 
| bool | banIfStale (primitives::BlockNumber current_block, const Transaction &tx) override | 
| bool | isBanned (const common::Hash256 &tx_hash) const override | 
| void | updateBan () override | 
| size_t | bannedNum () const override | 
  Public Member Functions inherited from kagome::transaction_pool::PoolModerator | |
| virtual | ~PoolModerator ()=default | 
| virtual bool | isBanned (const Transaction::Hash &tx_hash) const =0 | 
Static Public Attributes | |
| static constexpr size_t | kDefaultExpectedSize = 2048 | 
| static constexpr clock::SystemClock::Duration | kDefaultBanFor | 
Private Types | |
| using | Map = std::map< common::Hash256, clock::SystemClock::TimePoint > | 
Private Attributes | |
| std::shared_ptr< clock::SystemClock > | clock_ | 
| Params | params_ | 
| Map | banned_until_ | 
Definition at line 17 of file pool_moderator_impl.hpp.
| struct kagome::transaction_pool::PoolModeratorImpl::Params | 
| ban_for | amount of time for which a transaction is banned | 
| expected_size | expected maximum number of banned transactions. If significantly exceeded, some transactions will be removed from ban list | 
Definition at line 37 of file pool_moderator_impl.hpp.
| Class Members | ||
|---|---|---|
| Duration | ban_for | |
| size_t | expected_size | |
      
  | 
  private | 
Definition at line 18 of file pool_moderator_impl.hpp.
| kagome::transaction_pool::PoolModeratorImpl::PoolModeratorImpl | ( | std::shared_ptr< clock::SystemClock > | clock, | 
| Params | parameters | ||
| ) | 
| parameters | configuration of the pool moderator | 
| clock | a clock used to determine when it is time to unban a transaction | 
Definition at line 12 of file pool_moderator_impl.cpp.
      
  | 
  overridedefault | 
      
  | 
  overridevirtual | 
Bans a transaction for a fixed amount of time
| tx_hash | 
Implements kagome::transaction_pool::PoolModerator.
Definition at line 16 of file pool_moderator_impl.cpp.
      
  | 
  overridevirtual | 
Bans a transaction
| tx | if its longevity is past | 
| current_block | 
Implements kagome::transaction_pool::PoolModerator.
Definition at line 25 of file pool_moderator_impl.cpp.
      
  | 
  overridevirtual | 
Return the number of currently banned transactions
Implements kagome::transaction_pool::PoolModerator.
Definition at line 55 of file pool_moderator_impl.cpp.
      
  | 
  override | 
Definition at line 34 of file pool_moderator_impl.cpp.
      
  | 
  overridevirtual | 
Unbans transaction which ban time is exceeded
Implements kagome::transaction_pool::PoolModerator.
Definition at line 44 of file pool_moderator_impl.cpp.
      
  | 
  private | 
Definition at line 66 of file pool_moderator_impl.hpp.
      
  | 
  private | 
Definition at line 64 of file pool_moderator_impl.hpp.
      
  | 
  static | 
Default ban duration
Definition at line 29 of file pool_moderator_impl.hpp.
      
  | 
  static | 
Default value of expected size parameter
Definition at line 24 of file pool_moderator_impl.hpp.
      
  | 
  private | 
Definition at line 65 of file pool_moderator_impl.hpp.