1. 23 Feb, 2021 1 commit
  2. 19 Feb, 2021 1 commit
    • Bernhard Schuster's avatar
      feat/jaeger: more spans, more stages (#2477) · f9186eb2
      Bernhard Schuster authored
      * feat/jaeger: more spans, more stages
      
      Stage numbers are still arbitrarily picked.
      
      * feat/jaeger: additional spans
      
      * chore/spellcheck: improve the dictionary
      
      * fix/jaeger JaegerSpan -> jaeger::Span
      f9186eb2
  3. 17 Feb, 2021 2 commits
    • asynchronous rob's avatar
      Full chunk messages for availability-recovery (#2466) · b0ff3d49
      asynchronous rob authored
      * add full data messages
      
      * handle new messages
      
      * flip condition
      b0ff3d49
    • Bernhard Schuster's avatar
      refactor/reputation: unify the values used (#2462) · 8c1b2e87
      Bernhard Schuster authored
      * refactor/reputation: unify the values used
      
      * chore/rep: rename Annoy* to Cost*, make duplicate message Cost*Repeated
      
      * fix/reputation: lost and found, convert at the boundary to substrate
      
      * refactor/rep: move conversion to base reputation one level down, left conversions
      
      * fix/rep: order of magnitude adjustments
      
      Thanks pierre!
      
      * remove spaces
      
      * chore/rep: give rationale for order of magnitude
      
      * refactor/rep: move UnifiedReputationChange to separate file
      
      * fix/rep: order of magnitudes correction
      8c1b2e87
  4. 15 Feb, 2021 1 commit
  5. 14 Feb, 2021 1 commit
    • Bastian Köcher's avatar
      Notify collators about seconded collation (#2430) · ac5ef00e
      Bastian Köcher authored
      * Notify collators about seconded collation
      
      This pr adds functionality to inform a collator that its collation was
      seconded by a parachain validator. Before this signed statement was only
      gossiped over the validation substream. Now, we explicitly send the
      seconded statement to the collator after it was validated successfully.
      
      Besides that it changes the `CollatorFn` to return an optional result
      sender that is informed when the build collation was seconded by a
      parachain validator.
      
      * Add test
      
      * Make sure we only send `Seconded` statements
      
      * Make sure we only receive valid statements
      
      * Review feedback
      ac5ef00e
  6. 04 Feb, 2021 1 commit
    • Sergey Pepyakin's avatar
      Diagnostics quality of life improvements (#2375) · 4f9e845d
      Sergey Pepyakin authored
      * Implement `Debug` manually for CandidateHash
      
      This will make candidate hashes printed consistently without the
      `CandidateHash(` and `)` decorations.
      
      * Do not print CompressedPov's guts
      
      It can be overwhelming. Better just use the size.
      
      * Log when candidate is generated
      
      * Print para_id and candidate_hash upon receiving a collation
      4f9e845d
  7. 03 Feb, 2021 1 commit
    • Robert Klotzner's avatar
      Generic request/response infrastructure for Polkadot (#2352) · ecc3772d
      Robert Klotzner authored
      * Move NetworkBridgeEvent to subsystem::messages.
      
      It is not protocol related at all, it is in fact only part of the
      subsystem communication as it gets wrapped into messages of each
      subsystem.
      
      * Request/response infrastructure is taking shape.
      
      WIP: Does not compile.
      
      * Multiplexer variant not supported by Rusts type system.
      
      * request_response::request type checks.
      
      * Cleanup.
      
      * Minor fixes for request_response.
      
      * Implement request sending + move multiplexer.
      
      Request multiplexer is moved to bridge, as there the implementation is
      more straight forward as we can specialize on `AllMessages` for the
      multiplexing target.
      
      Sending of requests is mostly complete, apart from a few `From`
      instances. Receiving is also almost done, initializtion needs to be
      fixed and the multiplexer needs to be invoked.
      
      * Remove obsolete multiplexer.
      
      * Initialize bridge with multiplexer.
      
      * Finish generic request sending/receiving.
      
      Subsystems are now able to receive and send requests and responses via
      the overseer.
      
      * Doc update.
      
      * Fixes.
      
      * Link issue for not yet implemented code.
      
      * Fixes suggested by @ordian
      
       - thanks!
      
      - start encoding at 0
      - don't crash on zero protocols
      - don't panic on not yet implemented request handling
      
      * Update node/network/protocol/src/request_response/v1.rs
      
      Use index 0 instead of 1.
      
      Co-authored-by: Andronik Ordian's avatarAndronik Ordian <write@reusable.software>
      
      * Update node/network/protocol/src/request_response.rs
      
      Co-authored-by: Andronik Ordian's avatarAndronik Ordian <write@reusable.software>
      
      * Fix existing tests.
      
      * Better avoidance of division by zoro errors.
      
      * Doc fixes.
      
      * send_request -> start_request.
      
      * Fix missing renamings.
      
      * Update substrate.
      
      * Pass TryConnect instead of true.
      
      * Actually import `IfDisconnected`.
      
      * Fix wrong import.
      
      * Update node/network/bridge/src/lib.rs
      
      typo
      
      Co-authored-by: Pierre Krieger's avatarPierre Krieger <pierre.krieger1708@gmail.com>
      
      * Update node/network/bridge/src/multiplexer.rs
      
      Remove redundant import.
      
      Co-authored-by: Pierre Krieger's avatarPierre Krieger <pierre.krieger1708@gmail.com>
      
      * Stop doing tracing from within `From` instance.
      
      Thanks for the catch @tomaka
      
      !
      
      * Get rid of redundant import.
      
      * Formatting cleanup.
      
      * Fix tests.
      
      * Add link to issue.
      
      * Clarify comments some more.
      
      * Fix tests.
      
      * Formatting fix.
      
      * tabs
      
      * Fix link
      
      Co-authored-by: default avatarBernhard Schuster <bernhard@ahoi.io>
      
      * Use map_err.
      
      Co-authored-by: default avatarBernhard Schuster <bernhard@ahoi.io>
      
      * Improvements inspired by suggestions by @drahnr.
      
      - Channel size is now determined by function.
      - Explicitely scope NetworkService::start_request.
      
      Co-authored-by: Andronik Ordian's avatarAndronik Ordian <write@reusable.software>
      Co-authored-by: Pierre Krieger's avatarPierre Krieger <pierre.krieger1708@gmail.com>
      Co-authored-by: default avatarBernhard Schuster <bernhard@ahoi.io>
      ecc3772d
  8. 29 Jan, 2021 1 commit
  9. 25 Jan, 2021 1 commit
    • Andronik Ordian's avatar
      impl approval distribution (#2160) · ab606e14
      Andronik Ordian authored
      * initial impl approval distribution
      
      * initial tests and fixes
      
      * batching seems difficult: different peers have different needs
      
      * bridge: fix test after merge
      
      * some guide updates
      
      * only send assignments to peers who know about the block
      
      * fix a test, add approvals test
      
      * simplify
      
      * do not send assignment to peers for finalized blocks
      
      * guide: protocol input and output
      
      * one more test
      
      * more comments, logs, initial metrics
      
      * fix a typo
      
      * one more thing: early return when reimporting a thing locally
      ab606e14
  10. 21 Jan, 2021 1 commit
  11. 15 Jan, 2021 1 commit
    • Fedor Sakharov's avatar
      Availability recovery subsystem (#2122) · 030502a0
      Fedor Sakharov authored
      * Adds message types
      
      * Add code skeleton
      
      * Adds subsystem code.
      
      * Adds a first test
      
      * Adds interaction result to availability_lru
      
      * Use LruCache instead of a HashMap
      
      * Whitespaces to tabs
      
      * Do not ignore errors
      
      * Change error type
      
      * Add a timeout to chunk requests
      
      * Add custom errors and log them
      
      * Adds replace_availability_recovery method
      
      * recovery_threshold computed by erasure crate
      
      * change core to std
      
      * adds docs to error type
      
      * Adds a test for invalid reconstruction
      
      * refactors interaction run into multiple methods
      
      * Cleanup AwaitedChunks
      
      * Even more fixes
      
      * Test that recovery with wrong root is an error
      
      * Break to launch another requests
      
      * Styling fixes
      
      * Add SessionIndex to API
      
      * Proper relay parents for MakeRequest
      
      * Remove validator_discovery and use message
      
      * Remove a stream on exhaustion
      
      * On cleanup free the request streams
      
      * Fix merge and refactor
      030502a0
  12. 14 Jan, 2021 1 commit
    • Robert Klotzner's avatar
      Some refactoring in network-bridge in the course of dealing with #2177 (#2263) · 490cbd72
      Robert Klotzner authored
      * More doc fixes.
      
      * Minor refactorings in the process of #2177
      
      By having everything peer set related depend directly on the enum the
      code becomes more clear and it is also straight forward to add more
      peersets/protocols as the compiler will complain if you forget to
      implement parts of it.
      
      * Add peer set infos on startup properly
      
      For feature real_overseer.
      
      + Fixes from review. Thanks @coriolinus and @ordian
      
      !
      
      * More structure in network-bridge
      
      Some changes, which would have helped me in groking the code faster.
      
      Entry points/public types more to the top. Factored out implementation
      in their own files, to clear up the top-level view.
      
      * Get rid of local ProtocolName type definition.
      
      Does not add much at this level.
      
      * Fix tests + import cleanup.
      
      * Make spaces tabs.
      
      * Clarify what correct parameters to send_message are
      
      * Be more less vague in docs of send_message.
      
      * Apply suggestions from code review
      
      Extend copyright on new files to 2021 as well.
      
      Co-authored-by: Andronik Ordian's avatarAndronik Ordian <write@reusable.software>
      
      Co-authored-by: Andronik Ordian's avatarAndronik Ordian <write@reusable.software>
      490cbd72
  13. 05 Jan, 2021 1 commit
  14. 17 Dec, 2020 1 commit
    • Andronik Ordian's avatar
      refactor View to include finalized_number (#2128) · c429e15c
      Andronik Ordian authored
      * refactor View to include finalized_number
      
      * guide: update the NetworkBridge on BlockFinalized
      
      * av-store: fix the tests
      
      * actually fix tests
      
      * grumbles
      
      * ignore macro doctest
      
      * use Hash::repeat_bytes more consistently
      
      * broadcast empty leaves updates as well
      
      * fix issuing view updates on empty leaves updates
      c429e15c
  15. 24 Nov, 2020 1 commit
    • Bastian Köcher's avatar
      Do not send messages twice in bitfield distribution (#2005) · bb91bedf
      Bastian Köcher authored
      * Do not send messages twice in bitfield distribution
      
      This removes a bug which resulted in sending bitfield messages multiple
      times by not checking if we already relayed them. Besides that it also
      adds an optimization to not relay a message to a peer that send us
      this message.
      
      * Review comments
      
      * Break some lines
      bb91bedf
  16. 05 Nov, 2020 1 commit
  17. 27 Oct, 2020 1 commit
  18. 12 Aug, 2020 1 commit
    • asynchronous rob's avatar
      Network bridge refactoring impl (#1537) · 1e9c0540
      asynchronous rob authored
      * update networking types
      
      * port over overseer-protocol message types
      
      * Add the collation protocol to network bridge
      
      * message sending
      
      * stub for ConnectToValidators
      
      * add some helper traits and methods to protocol types
      
      * add collator protocol message
      
      * leaves-updating
      
      * peer connection and disconnection
      
      * add utilities for dispatching multiple events
      
      * implement message handling
      
      * add an observedrole enum with equality and no sentry nodes
      
      * derive partial-eq on network bridge event
      
      * add PartialEq impls for network message types
      
      * add Into implementation for observedrole
      
      * port over existing network bridge tests
      
      * add some more tests
      
      * port bitfield distribution
      
      * port over bitfield distribution tests
      
      * add codec indices
      
      * port PoV distribution
      
      * port over PoV distribution tests
      
      * port over statement distribution
      
      * port over statement distribution tests
      
      * update overseer and service-new
      
      * address review comments
      
      * port availability distribution
      
      * port over availability distribution tests
      1e9c0540