* Refactor relay_finder and start autorelay after identify
* Clock fork
* Remove multiple timers and use a single rate limiting chan for findNodes
* Remove clock fork
* Rename
* Use scheduledWork.nextAllowedCallToPeerSource.Add(rf.conf.minInterval)
* Fix flaky test that relied on time
* add autonat metrics
* add benchmarks
* use increase instead of sum by with rate in dashboard
* add interface assertion
* add no alloc test
* update dashboard
* autonat: minor dashboard tweaks
---------
Co-authored-by: Marten Seemann <martenseemann@gmail.com>
* do not start new relay if one already exists
* Update p2p/host/relaysvc/relay.go
Co-authored-by: Marten Seemann <martenseemann@gmail.com>
* test by emitting events
* fix race condition
* increase timeout
---------
Co-authored-by: Marten Seemann <martenseemann@gmail.com>
* bump go.mod to Go 1.19 and run go fix
* stop using the deprecated io/ioutil package
* bump go.mod to Go 1.19 and run go fix
* bump go.mod to Go 1.19 and run go fix
* bump go.mod to Go 1.19 and run go fix
* stop using the deprecated io/ioutil package
* bump go.mod to Go 1.19 and run go fix
* stop using the deprecated io/ioutil package
* update .github/workflows/go-test.yml
* update .github/workflows/go-check.yml
* update .github/workflows/release-check.yml
* various fixes
* stop using deprecated math/rand.Read
---------
Co-authored-by: web3-bot <web3-bot@users.noreply.github.com>
Co-authored-by: Marten Seemann <martenseemann@gmail.com>
* rcmgr: Change LimitConfig to use LimitVal type
* Nits
* Remove DefaultReifiedLimits
* Use pointers for optional ResourceLimits
* Reify a nil pointer with defaults
* Fix maxints
* Move helper
* Return nil if everything is default
* Check for nil pointer
* Change terms
* Add IsDefault helper
* Use values instead of pointers for PartialLimitConfig
* Remove references to reify
* Unmarshal 0 limits as block all
* ResourceLimits can build on Limits interface objs
* Convert max int to unlimited
* Remove ToLimitConfigWithDefaults
* Rename to ToPartialLimitConfig
* identify: cache the snapshot
* identify: refactor sending of Identify pushes
* identify: fix concurrency when sending pushes
* identify: fix timestamp handling
* identify: remove unneeded pushSemaphore
* identify: improve logging
* identify: use a sequence number instead of a timestamp
* identify: start with an empty snapshot
* identify: wait until we've actually finished setting up