func (b BridgeFunc) Bridge(dialer Dialer, address string) (Dialer, error) {
	return b(dialer, address)
}
Bridge calls b(dialer, address)
package bridge
import (
	"context"
	"net"
)
type ListenConfig interface {
	Listen(ctx context.Context, network, address string) (net.Listener, error)
}
type ListenConfigFunc func(ctx context.Context, network, address string) (net.Listener, error)
func (l ListenConfigFunc) Listen(ctx context.Context, network, address string) (net.Listener, error) {
	return l(ctx, network, address)
}
type Dialer interface {
	DialContext(ctx context.Context, network, address string) (net.Conn, error)
}
type DialFunc func(ctx context.Context, network, address string) (net.Conn, error)
func (d DialFunc) DialContext(ctx context.Context, network, address string) (net.Conn, error) {
	return d(ctx, network, address)
}
type Bridger interface {
	Bridge(dialer Dialer, address string) (Dialer, error)
}
type BridgeFunc func(dialer Dialer, address string) (Dialer, error)