erigon-pulse/cmd/lightclient/sentinel/gater.go
Enrique Jose Avila Asapche abfa374165
LightClient P2P refactoring (#5507)
* separated convertions into utils.go

* added log to bad peers

* more verbose errors and names

* warn when banning bad peer

* has and get in function name

* space

* lint

* ops

* little rename

* deleted unused func

* revert
2022-09-25 20:39:09 +02:00

36 lines
1.2 KiB
Go

package sentinel
import (
"github.com/libp2p/go-libp2p/core/control"
"github.com/libp2p/go-libp2p/core/network"
"github.com/libp2p/go-libp2p/core/peer"
"github.com/multiformats/go-multiaddr"
)
// InterceptPeerDial tests whether we're permitted to Dial the specified peer.
func (_ *Sentinel) InterceptPeerDial(_ peer.ID) (allow bool) {
return true
}
// InterceptAddrDial tests whether we're permitted to dial the specified
// multiaddr for the given peer.
func (s *Sentinel) InterceptAddrDial(pid peer.ID, m multiaddr.Multiaddr) (allow bool) {
return !s.peers.IsBadPeer(pid)
}
// InterceptAccept checks whether the incidental inbound connection is allowed.
func (s *Sentinel) InterceptAccept(n network.ConnMultiaddrs) (allow bool) {
return !s.HasTooManyPeers()
}
// InterceptSecured tests whether a given connection, now authenticated,
// is allowed.
func (_ *Sentinel) InterceptSecured(_ network.Direction, _ peer.ID, _ network.ConnMultiaddrs) (allow bool) {
return true
}
// InterceptUpgraded tests whether a fully capable connection is allowed.
func (_ *Sentinel) InterceptUpgraded(_ network.Conn) (allow bool, reason control.DisconnectReason) {
return true, 0
}