prysm-pulse/shared/p2p/p2p.go
Raul Jordan 205594c5d6 Fix Travis Failures on Master (#1938)
* resolve travis conflicts

* cp proto

* revert

* remove unused context
2019-03-07 23:54:41 -05:00

32 lines
1.0 KiB
Go

// Package p2p handles peer-to-peer networking for Ethereum Serenity clients.
//
// There are three types of p2p communications.
//
// - Direct: two peer communication
// - Floodsub: peer broadcasting to all peers
// - Gossipsub: peer broadcasting to localized peers
//
// This communication is abstracted through the Feed, Broadcast, and Send.
//
// Pub/sub topic has a specific message type that is used for that topic.
//
// Read more about gossipsub at https://github.com/vyzo/gerbil-simsub
package p2p
import peer "github.com/libp2p/go-libp2p-peer"
// AnyPeer represents a Peer ID alias for sending to any available peer(s).
const AnyPeer = peer.ID("AnyPeer")
// Use this file for interfaces only!
// Adapter is used to create middleware.
//
// See http://godoc.org/github.com/prysmaticlabs/prysm/shared/p2p#Server.RegisterTopic
type Adapter func(Handler) Handler
// Handler is a callback used in the adapter/middleware stack chain.
//
// See http://godoc.org/github.com/prysmaticlabs/prysm/shared/p2p#Server.RegisterTopic
type Handler func(Message)