• asynchronous rob's avatar
    Remove dependency on rand's SliceRandom shuffle implementation in gossip-support (#2555) · 1f2ccaea
    asynchronous rob authored
    In gossip-support, we shuffled the list of authorities using the
    `rand::seq::SliceRandom::shuffle`. This function's behavior is
    unspecified beyond being `O(n)` and could change in the future, leading
    to network issues between nodes using different shuffling algorithms. In
    practice, the implementation was a Fisher-Yates shuffle. This PR
    replaces the call with a re-implementation of Fisher-Yates and adds a
    test to ensure the behavior is the same between the two at the moment.
    1f2ccaea