prysm-pulse/shared/deprecated-p2p/interfaces.go
Preston Van Loon 0b8cbd06b6
Add flag for testing new p2p (#3243)
* refactor a bit to select p2p

* lint

* fix build

* fix build

* fix build

* fix build

* fix build
2019-08-19 17:20:56 -04:00

30 lines
850 B
Go

package p2p
import (
"context"
"github.com/gogo/protobuf/proto"
peer "github.com/libp2p/go-libp2p-peer"
"github.com/prysmaticlabs/prysm/shared/event"
)
// Broadcaster represents a subset of the p2p.Server. This interface is useful
// for testing or when the calling code only needs access to the broadcast
// method.
type Broadcaster interface {
Broadcast(context.Context, proto.Message) error
}
// Subscriber represents a subset of the p2p.Server. This interface is useful
// for testing or when the calling code only needs access to the subscribe
// method.
type Subscriber interface {
Subscribe(msg proto.Message, channel chan Message) event.Subscription
}
// ReputationManager represents a subset of the p2p.Server which enables
// reputaiton reporting of peers.
type ReputationManager interface {
Reputation(peer peer.ID, val int)
}