1. 24 Mar, 2020 2 commits
  2. 16 Mar, 2020 2 commits
  3. 26 Feb, 2020 1 commit
  4. 11 Feb, 2020 2 commits
  5. 05 Feb, 2020 4 commits
  6. 04 Feb, 2020 1 commit
  7. 27 Jan, 2020 2 commits
  8. 21 Jan, 2020 1 commit
    • Piotr Dyraga's avatar
      Configurable size of validate queue · 499109b1
      Piotr Dyraga authored
      validateWorker() reads from validateQ and invokes validate function
      that performs validation of the message. Signature validation is performed
      synchronously. The number of validate workers defaults to the number of CPUs
      and can be updated with WithValidateWorkers function. With no additional user
      validators, signature validation is the bottleneck when receiving new messages.
      
      Increasing the number of validating workers does not help given the context
      switching and bottleneck nature of this spot. As stated in WithValidateWorkers
      documentation, this function should be used rather to limit the number of workers
      to devote less CPU time for synchronous validation. On the other hand, with the
      default size of `validateQ`, some applications built on a top of libp2p may
      experience throttled validation and lost messages.
      
      This problem is addressed by WithValidateQueueSize allowing to configure the buffer
      size for synchronous validation. Application developers knowing the nature of their
      protocols can set this value to minimise the possibility of throttled synchronous
      validation and dropped messages. Configurable buffer size allows to gracefully
      handle peaks of messages and, from the other side, the number of concurrent
      synchronous workers is still limited by validateWorkers property so the receiver
      should not get congested.
      499109b1
  9. 17 Jan, 2020 1 commit
  10. 19 Dec, 2019 2 commits
  11. 16 Dec, 2019 4 commits
  12. 11 Dec, 2019 2 commits
  13. 06 Dec, 2019 4 commits
  14. 02 Dec, 2019 3 commits
  15. 19 Nov, 2019 2 commits
  16. 18 Nov, 2019 7 commits