status-go/peers
Dmitry 737f966dbe Decouple discovery from p2p server 2018-07-05 16:45:28 +03:00
..
README.md [#856] move geth subpackages to root level (#1007) 2018-06-08 13:29:50 +02:00
cache.go [#856] move geth subpackages to root level (#1007) 2018-06-08 13:29:50 +02:00
cache_test.go [#856] move geth subpackages to root level (#1007) 2018-06-08 13:29:50 +02:00
discv5.go Decouple discovery from p2p server 2018-07-05 16:45:28 +03:00
peerpool.go Decouple discovery from p2p server 2018-07-05 16:45:28 +03:00
peerpool_test.go Decouple discovery from p2p server 2018-07-05 16:45:28 +03: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 Decouple discovery from p2p server 2018-07-05 16:45:28 +03:00
topicpool.go Decouple discovery from p2p server 2018-07-05 16:45:28 +03:00
topicpool_test.go Decouple discovery from p2p server 2018-07-05 16:45:28 +03:00

README.md

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": []
}