Skip to content
Snippets Groups Projects
  • Max Inden's avatar
    client/authority-discovery: Introduce AuthorityDiscoveryService (#6760) · 2d5ec723
    Max Inden authored
    * client/authority-discovery: Rename AuthorityDiscovery to XXXWorker
    
    * client/authority-discovery: Introduce AuthorityDiscoveryService
    
    Add a basic `AuthorityDiscoveryService` implementation which enables
    callers to get the addresses for a given `AuthorityId` from the local
    cache.
    
    * client/authority-discovery: Split into worker and service mod
    
    Move `Service` and `Worker` to their own Rust modules resulting in the
    following file structure.
    
    ├── build.rs
    ├── Cargo.toml
    └── src
        ├── error.rs
        ├── lib.rs
        ├── service.rs
        ├── tests.rs
        ├── worker
        │   ├── addr_cache.rs
        │   ├── schema
        │   │   └── dht.proto
        │   └── tests.rs
        └── worker.rs
    
    * client/authority-discovery: Cache PeerId -> AuthorityId mapping
    
    * client/authority-discovery: Update priority group on interval
    
    Instead of updating the authority discovery peerset priority group each
    time a new DHT value is found, update it regularly on an interval.
    
    This removes the need for deterministic random selection. Instead of
    trying to return a random stable set of `Multiaddr`s, the `AddrCache`
    now returns a random set on each call.
    
    * client/authority-discovery: Implement Service::get_authority_id
    
    * client/authority-discovery: Use HashMap instead of BTreeMap
    
    * client/authority-discovery: Rework priority group interval
    
    * client/authority-discovery: Fix comment
    
    * bin/node/cli: Update authority discovery constructor
    
    * client/authority-discovery: Fuse from_service receiver
    
    * client/authority-discovery: Remove Rng import
    
    * client/authority-discovery: Ignore Multiaddr without PeerId
    
    * client/authority-discovery/service: Add note on returned None
    
    * client/authority-discovery/addr_cache: Replace double clone with deref
    2d5ec723
Code owners
Assign users and groups as approvers for specific file changes. Learn more.