• Robert Klotzner's avatar
    Request based availability distribution (#2423) · 950447e1
    Robert Klotzner authored
    * WIP
    
    * availability distribution, still very wip.
    
    Work on the requesting side of things.
    
    * Some docs on what I intend to do.
    
    * Checkpoint of session cache implementation
    
    as I will likely replace it with something smarter.
    
    * More work, mostly on cache
    
    and getting things to type check.
    
    * Only derive MallocSizeOf and Debug for std.
    
    * availability-distribution: Cache feature complete.
    
    * Sketch out logic in `FetchTask` for actual fetching.
    
    - Compile fixes.
    - Cleanup.
    
    * Format cleanup.
    
    * More format fixes.
    
    * Almost feature complete `fetch_task`.
    
    Missing:
    
    - Check for cancel
    - Actual querying of peer ids.
    
    * Finish FetchTask so far.
    
    * Directly use AuthorityDiscoveryId in protocol and cache.
    
    * Resolve `AuthorityDiscoveryId` on sending requests.
    
    * Rework fetch_task
    
    - also make it impossible to check the wrong chunk index.
    - Export needed function in validator_discovery.
    
    * From<u32> implementation for `ValidatorIndex`.
    
    * Fixes and more integration work.
    
    * Make session cache proper lru cache.
    
    * Use proper lru cache.
    
    * Requester finished.
    
    * ProtocolState -> Requester
    
    Also make sure to not fetch our own chunk.
    
    * Cleanup + fixes.
    
    * Remove unused functions
    
    - FetchTask::is_finished
    - SessionCache::fetch_session_info
    
    * availability-distribution responding side.
    
    * Cleanup + Fixes.
    
    * More fixes.
    
    * More fixes.
    
    adder-collator is running!
    
    * Some docs.
    
    * Docs.
    
    * Fix reporting of bad guys.
    
    * Fix tests
    
    * Make all tests compile.
    
    * Fix test.
    
    * Cleanup + get rid of some warnings.
    
    * state -> requester
    
    * Mostly doc fixes.
    
    * Fix test suite.
    
    * Get rid of now redundant message types.
    
    * WIP
    
    * Rob's review remarks.
    
    * Fix test suite.
    
    * core.relay_parent -> leaf for session request.
    
    * Style fix.
    
    * Decrease request timeout.
    
    * Cleanup obsolete errors.
    
    * Metrics + don't fail on non fatal errors.
    
    * requester.rs -> requester/mod.rs
    
    * Panic on invalid BadValidator report.
    
    * Fix indentation.
    
    * Use typed default timeout constant.
    
    * Make channel size 0, as each sender gets one slot anyways.
    
    * Fix incorrect metrics initialization.
    
    * Fix build after merge.
    
    * More fixes.
    
    * Hopefully valid metrics names.
    
    * Better metrics names.
    
    * Some tests that already work.
    
    * Slightly better docs.
    
    * Some more tests.
    
    * Fix network bridge test.
    950447e1