* 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
* Replace OpenCensus with Prometheus Go SDK
Allows for much more efficient metric collecting
* PR comments
* Try a different way of testing noallocs
* CI fiddling
* CI fiddling
* Undo debug change
* Return early
* Debug
* Try AllocsPerRun
* Try gosched in noop
* Use AllocsPerRun
* Try without cover
* Use tag
* Revert "Try without cover"
This reverts commit e91b1e8f0d0ffbe6842a37925eb72e0177bf0773.
* Cleanup debug code
* Use global string slice pool
* Split libp2p.EnableAutoRelay into 2 functions
Provide two specific ways to enable the autorelay subsystem
libp2p.EnableAutoRelayWithStaticRelays
libp2p.EnableAutoRelayWithPeerSource
* remove minInterval from WithPeerSource
* Use PeerSource type
* Fix typo
* Update p2p/host/autorelay/options.go
Co-authored-by: Marten Seemann <martenseemann@gmail.com>
---------
Co-authored-by: Marco Munizaga <git@marcopolo.io>
Co-authored-by: Marco Munizaga <marco@marcopolo.io>
Co-authored-by: Marten Seemann <martenseemann@gmail.com>
* rcmgr: Fix connection accounting
* Always close conn scope in the case of errors
* circuitv2: fix resource accounting when connection upgrading fails
---------
Co-authored-by: Marten Seemann <martenseemann@gmail.com>
* Change PeerStore interface to use protocol.ID
This reduces the string to protocol.ID translations happening
at various places in the code
* Fix misc cases of protocol.ID conversion
* Merge multistream changes
* Use protocol.ID in network.ConnectionState
* don't update examples
* fix error message tests
* merge new go-multistream changes
* update test-plans go mod
* change transport back to string
* swarm: add very basic metrics for opening and closing connections
* swarm: use a sync.Pool to make metrics collection allocation-free
* swarm: introduce a MetricsTracer interface
* swarm: add the transport to the dial error metric
* swarm: add Grafana dashboard
* swarm: use the prometheus namespace option
* docs: remove documentation indicating that mplex is enabled by default
* feat: expose yamux ID as a constant
* feat: expose mplex ID as a constant
* reword muxer config documentation
Co-authored-by: Marten Seemann <martenseemann@gmail.com>
* Clean addresses with peer id before adding to addrbook
Fixes: https://github.com/libp2p/go-libp2p/issues/2001
* Filter p2p addresses with invalid peerid
Add error reporting from Host.Connect
* Nits
Co-authored-by: Marco Munizaga <git@marcopolo.io>
* Test interop on changes
* Add pull request event
* Nits
* Rm un-needed default
* Use build tag
* Point to master for interop-test
* Point to master for interop-test
* Go mod tidy