1. 01 Jun, 2021 1 commit
  2. 31 May, 2021 2 commits
  3. 30 May, 2021 1 commit
  4. 28 May, 2021 1 commit
  5. 27 May, 2021 7 commits
  6. 26 May, 2021 3 commits
  7. 25 May, 2021 8 commits
    • meowsbits's avatar
      ethstats: fix URL parser for '@' or ':' in node name/password (#21640) · 10962b68
      meowsbits authored
      Fixes the case (example below) where the value passed
      to --ethstats flag would be parsed wrongly because the
      node name and/or password value contained the special
      characters '@' or ':'
      
          --ethstats "ETC Labs Metrics @meowsbits":mypass@ws://mordor.dash.fault.dev:3000
      10962b68
    • rene's avatar
      cmd/devp2p: refactor eth test suite (#22843) · 49bde05a
      rene authored
      This PR refactors the eth test suite to make it more readable and
      easier to use. Some notable differences:
      
      - A new file helpers.go stores all of the methods used between
        both eth66 and eth65 and below tests, as well as methods shared
        among many test functions.
      - suite.go now contains all of the test functions for both eth65
        tests and eth66 tests.
      - The utesting.T object doesn't get passed through to other helper methods,
        but is instead only used within the scope of the test function,
        whereas helper methods return errors, so only the test function
        itself can fatal out in the case of an error.
      - The full test suite now only takes 13.5 seconds to run.
      49bde05a
    • Eugene Lepeico's avatar
      tests: get test name from testing.T (#22941) · 6c7d6cf8
      Eugene Lepeico authored
      There were 2 TODOs about that fix after Golang 1.8 release.
      It's here for 3 years already, so now should be the right time.
      6c7d6cf8
    • meowsbits's avatar
      750115ff
    • gary rong's avatar
      internal/ethapi: merge CallArgs and SendTxArgs (#22718) · 51b32cc7
      gary rong authored
      
      
      There are two transaction parameter structures defined in
      the codebase, although for different purposes. But most of
      the parameters are shared. So it's nice to reduce the code
      duplication by merging them together.
      Co-authored-by: default avatarMartin Holst Swende <martin@swende.se>
      51b32cc7
    • Felix Lange's avatar
      eth: unregister peer only when handler exits (#22908) · 836c647b
      Felix Lange authored
      This removes the error log message that says 
      
          Ethereum peer removal failed ... err="peer not registered"
      
      The error happened because removePeer was called multiple
      times: once to disconnect the peer, and another time when the
      handler exited. With this change, removePeer now has the sole
      purpose of disconnecting the peer. Unregistering happens exactly
      once, when the handler exits.
      836c647b
    • Felix Lange's avatar
      rlp: optimize big.Int decoding for size <= 32 bytes (#22927) · 4d33de9b
      Felix Lange authored
      This change grows the static integer buffer in Stream to 32 bytes,
      making it possible to decode 256bit integers without allocating a
      temporary buffer.
      
      In the recent commit 088da24e, Stream struct size decreased from 120
      bytes down to 88 bytes. This commit grows the struct to 112 bytes again,
      but the size change will not degrade performance because Stream
      instances are internally cached in sync.Pool.
      
          name             old time/op    new time/op    delta
          DecodeBigInts-8    12.2µs ± 0%     8.6µs ± 4%  -29.58%  (p=0.000 n=9+10)
      
          name             old speed      new speed      delta
          DecodeBigInts-8   230MB/s ± 0%   326MB/s ± 4%  +42.04%  (p=0.000 n=9+10)
      4d33de9b
    • ucwong's avatar
      rlp, tests/fuzzers/bls12381: gofmt (#22937) · 017cf71f
      ucwong authored
      017cf71f
  8. 24 May, 2021 1 commit
  9. 22 May, 2021 2 commits
    • Felix Lange's avatar
      rlp: optimize byte array handling (#22924) · 154ca32a
      Felix Lange authored
      This change improves the performance of encoding/decoding [N]byte.
      
          name                     old time/op    new time/op    delta
          DecodeByteArrayStruct-8     336ns ± 0%     246ns ± 0%  -26.98%  (p=0.000 n=9+10)
          EncodeByteArrayStruct-8     225ns ± 1%     148ns ± 1%  -34.12%  (p=0.000 n=10+10)
      
          name                     old alloc/op   new alloc/op   delta
          DecodeByteArrayStruct-8      120B ± 0%       48B ± 0%  -60.00%  (p=0.000 n=10+10)
          EncodeByteArrayStruct-8     0.00B          0.00B          ~     (all equal)
      154ca32a
    • Felix Lange's avatar
      rlp: use atomic.Value for type cache (#22902) · 0d076d92
      Felix Lange authored
      All encoding/decoding operations read the type cache to find the
      writer/decoder function responsible for a type. When analyzing CPU
      profiles of geth during sync, I found that the use of sync.RWMutex in
      cache lookups appears in the profiles. It seems we are running into
      CPU cache contention problems when package rlp is heavily used
      on all CPU cores during sync.
      
      This change makes it use atomic.Value + a writer lock instead of
      sync.RWMutex. In the common case where the typeinfo entry is present in
      the cache, we simply fetch the map and lookup the type.
      0d076d92
  10. 21 May, 2021 5 commits
  11. 20 May, 2021 1 commit
  12. 19 May, 2021 1 commit
    • Péter Szilágyi's avatar
      eth, p2p/msgrate: move peer QoS tracking to its own package and use it for snap (#22876) · 3e795881
      Péter Szilágyi authored
      This change extracts the peer QoS tracking logic from eth/downloader, moving
      it into the new package p2p/msgrate. The job of msgrate.Tracker is determining
      suitable timeout values and request sizes per peer.
      
      The snap sync scheduler now uses msgrate.Tracker instead of the hard-coded 15s
      timeout. This should make the sync work better on network links with high latency.
      3e795881
  13. 18 May, 2021 7 commits