erigon-pulse/cmd/lightclient/sentinel/gater.go
Giulio rebuffo b940eae2e0
lightclient actually gets peers lol (#5502)
Co-authored-by: giuliorebuffo <giuliorebuffo@system76-pc.localdomain>
2022-09-25 02:14:10 +02:00

36 lines
1.1 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.TooManyPeers()
}
// 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
}