package libp2p

import (
	
	
	
	

	ma 
)

// filtersConnectionGater is an adapter that turns multiaddr.Filter into a
// connmgr.ConnectionGater.
type filtersConnectionGater ma.Filters

var _ connmgr.ConnectionGater = (*filtersConnectionGater)(nil)

func ( *filtersConnectionGater) ( peer.ID,  ma.Multiaddr) ( bool) {
	return !(*ma.Filters)().AddrBlocked()
}

func ( *filtersConnectionGater) ( peer.ID) ( bool) {
	return true
}

func ( *filtersConnectionGater) ( network.ConnMultiaddrs) ( bool) {
	return !(*ma.Filters)().AddrBlocked(.RemoteMultiaddr())
}

func ( *filtersConnectionGater) ( network.Direction,  peer.ID,  network.ConnMultiaddrs) ( bool) {
	return !(*ma.Filters)().AddrBlocked(.RemoteMultiaddr())
}

func ( *filtersConnectionGater) ( network.Conn) ( bool,  control.DisconnectReason) {
	return true, 0
}