Commit Graph

10 Commits

Author SHA1 Message Date
frank 9137257638
synchronize display name () 2022-12-29 14:16:19 +08:00
Andrea Maria Piana 58fcf809ea
Bug/fix pending peers segfault ()
* Replace mclock with time in peer pools

we used mclock as golang before 1.9 did not support monotonic clocks,
https://github.com/gavv/monotime, it does now https://golang.org/pkg/time/
so we can fallback on the system implementation, which will return
nanoseconds with a resolution that is system dependent.

* Handle case where peer have same discovered time

In some system the resolution of the clock is not high enough so
multiple peers are added on the same nanosecond.

This result in the peer just added being immediately removed.

This code adds a check making sure we don't assume that a peer is added.

Another approach would be to make sure to include the peer in the list,
so prevent the peer just being added to be evicted, but it's slightly
more complicated and the resolution is generally accurate enough for our
purpose so that peers will be fresh enough if they have the same
discovered time.

It also adds a regression test, I had to use an interface to stub the
clock.

Fixes: https://github.com/status-im/nim-status-client/issues/522

* bump version to 0.55.3
2020-07-24 11:14:05 -04:00
Pedro Pombeiro c8a911ebd1 Use goimports instead of gofmt 2020-01-06 10:17:23 +01:00
André Medeiros 58fc7e45db
Limit the upper bounds of how many pending peers we track () 2019-12-10 10:20:22 -05:00
Adam Babik 52a1bdfed6
Upgrade geth 1.8.17 plus add metrics during compilation time ()
This commit updates geth to 1.8.17 and adds a possibility to enable metrics during compilation time.

The cascade of issues forced us to upgrade geth to 1.8.17 in order to allow enabling metrics during compilation time. 1.8.17 introduced `NodeID` refactoring and `enode` package which affected our peers pool and integration with Discovery V5.
2018-11-14 08:03:58 +01:00
Dmitry Shulyak cb15ca6e74
Mark peers that were added by peer pool ()
* Mark peers that were added by peer pool

* Implement thorough test to verify that connection was indeed preserved

* Add more debug logs and remove caching of the peers
2018-11-13 14:58:26 +01:00
Dmitry eeca435064 Add rendezvous implementation for discovery interface
Update vendor

Integrate rendezvous into status node

Add a test with failover using rendezvous

Use multiple servers in client

Use discovery V5 by default and test that node can be started with rendezvous discovet

Fix linter

Update rendezvous client to one with instrumented stream

Address feedback

Fix test with updated topic limits

Apply several suggestions

Change log to debug for request errors because we continue execution

Remove web3js after rebase

Update rendezvous package
2018-07-25 15:10:57 +03:00
Adrià Cidre bfbb02019f
Discover mail servers on demand. ()
* [] Discover mail servers on start up.

* [] On-demand mail-server discovery
2018-07-16 09:40:40 +02:00
Dmitry 737f966dbe Decouple discovery from p2p server 2018-07-05 16:45:28 +03:00
Adrià Cidre d5be8c525d
[] move geth subpackages to root level () 2018-06-08 13:29:50 +02:00