feat(netxlite): introduce null dialers (#489)

See https://github.com/ooni/probe/issues/1591
This commit is contained in:
Simone Basso 2021-09-08 14:46:17 +02:00 committed by GitHub
commit 26360f5a29
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 64 additions and 0 deletions

View file

@ -277,3 +277,23 @@ func (c *dialerErrWrapperConn) Close() error {
}
return nil
}
// ErrNoDialer indicates that no dialer is configured.
var ErrNoDialer = errors.New("no configured dialer")
// NewNullDialer returns a dialer that always fails.
func NewNullDialer() Dialer {
return &nullDialer{}
}
type nullDialer struct{}
var _ Dialer = &nullDialer{}
func (*nullDialer) DialContext(ctx context.Context, network, address string) (net.Conn, error) {
return nil, ErrNoDialer
}
func (*nullDialer) CloseIdleConnections() {
// nothing to do
}