Skip to content
  1. Jan 08, 2020
  2. Jan 06, 2020
  3. Jan 05, 2020
  4. Jan 04, 2020
  5. Jan 03, 2020
    • Denis_P's avatar
    • Max Inden's avatar
      *: Register network event stream for authority discovery (#4344) · 2b1e9ebc
      Max Inden authored
      Previously one would create a sender and receiver channel pair, pass the
      sender to the `build_network_future` through the service builder and
      funnel network events returned from polling the network service into the
      sender to be consumed by the authority discovery module owning the
      receiver.
      
      With recent changes it is now possible to register an `event_stream`
      with the network service directly, thus one does not need to make the
      detour through the `build_network_future`.
      2b1e9ebc
    • Nikolay Volf's avatar
      Update kvdb-* and trie (#4483) · 5842f6eb
      Nikolay Volf authored
      5842f6eb
    • Max Inden's avatar
      client/authority-discovery: Limit number of connections to authorities (#4487) · bdf6043f
      Max Inden authored
      * client/authority-discovery: Limit number of connections to authorities
      
      Instead of connecting to all sentry nodes of all authorities, with this
      patch the authority discovery module does the following:
      
      - Choose one sentry node per authority at random.
      
      - Choose MAX_NUM_AUTHORITY_CONN out of the above at random.
      
      The module uses randomness to prevent hot spots, e.g. all nodes trying
      to connect to a single node. If the authority discovery module would
      choose the nodes to connect to at random on each new address that it
      learns of, the node would go through a lot of connection churn.  Instead
      it creates a random seed at start up and uses this seed for its RNG on
      each update cycle.
      
      * client/authority-discovery: Extract address cache into own module
      
      * client/authority-discovery/src/addr_cache: Add basic unit tests
      
      * client/authority-discovery: Replace unwrap with expect on [u8] cmp
      
      * .maintain/sentry-node/docker-compose.yml: Prefix endpoint flags
      
      * client/authority-discovery/src/addr_cache: Use sort_unstable and cmp
      
      * client/authority-discovery: Use BTreeMap in addr_cache for sorted iter
      
      To reduce connection churn it is preferrable to have `get_subset` of the
      `addr_cache` to return the same result on repeated calls. `get_subset`
      iterates a map. To make the process of iteration deterministic, use a
      `BTreeMap` instead of a `HashMap`.
      bdf6043f