add options for components

This commit is contained in:
ginuerzh
2023-10-26 22:20:46 +08:00
parent 6431cd8bb9
commit 9e767d6745
6 changed files with 37 additions and 11 deletions

View File

@ -10,8 +10,12 @@ var (
ErrInvalid = errors.New("invalid resolver")
)
type Options struct{}
type Option func(opts *Options)
type Resolver interface {
// Resolve returns a slice of the host's IPv4 and IPv6 addresses.
// The network should be 'ip', 'ip4' or 'ip6', default network is 'ip'.
Resolve(ctx context.Context, network, host string) ([]net.IP, error)
Resolve(ctx context.Context, network, host string, opts ...Option) ([]net.IP, error)
}