status-go/peers
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
..
cache.go Enforce isolation between different buckets and topics 2018-07-12 10:03:37 +03:00
cache_test.go Enforce isolation between different buckets and topics 2018-07-12 10:03:37 +03:00
cotopicpool.go Mailserver discovery topic should be whispermail (#1099) 2018-07-17 14:39:30 +02:00
cotopicpool_test.go Add rendezvous implementation for discovery interface 2018-07-25 15:10:57 +03:00
peerpool.go Add rendezvous implementation for discovery interface 2018-07-25 15:10:57 +03:00
peerpool_test.go Add rendezvous implementation for discovery interface 2018-07-25 15:10:57 +03:00
README.md [#856] move geth subpackages to root level (#1007) 2018-06-08 13:29:50 +02:00
signal.go [#856] move geth subpackages to root level (#1007) 2018-06-08 13:29:50 +02:00
topic_peer_queue.go [#856] move geth subpackages to root level (#1007) 2018-06-08 13:29:50 +02:00
topic_peer_queue_test.go [#856] move geth subpackages to root level (#1007) 2018-06-08 13:29:50 +02:00
topic_register.go Add rendezvous implementation for discovery interface 2018-07-25 15:10:57 +03:00
topicpool.go Add rendezvous implementation for discovery interface 2018-07-25 15:10:57 +03:00
topicpool_test.go Add rendezvous implementation for discovery interface 2018-07-25 15:10:57 +03:00

Peer pool signals

Peer pool sends 3 types of signals.

Discovery started signal will be sent once discovery server is started. And every time node will have to re-start discovery server because peer number dropped too low.

{
  "type": "discovery.started",
  "event": null
}

Discovery stopped signal will be sent once discovery found max limit of peers for every registered topic.

{
  "type": "discovery.stopped",
  "event": null
}

Discovery summary signal will be sent every time new peer is added or removed from a cluster. It will contain a map with capability as a key and total numbers of peers with that capability as a value.

{
  "type": "discovery.summary",
  "event": [
    {
      "id": "339c84c816b5f17a622c8d7ab9498f9998e942a274f70794af934bf5d3d02e14db8ddca2170e4edccede29ea6d409b154c141c34c01006e76c95e17672a27454",
      "name": "peer-0/v1.0/darwin/go1.10.1",
      "caps": [
        "shh/6"
      ],
      "network": {
        "localAddress": "127.0.0.1:61049",
        "remoteAddress": "127.0.0.1:33732",
        "inbound": false,
        "trusted": false,
        "static": true
      },
      "protocols": {
        "shh": "unknown"
      }
    }
  ]
}

Or if we don't have any peers:

{
  "type": "discovery.summary",
  "event": []
}