Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type IPProtocol ¶ added in v2.758.0
type IPProtocol int
const ( IPv4 IPProtocol = iota IPv6 )
func (IPProtocol) String ¶ added in v2.758.0
func (p IPProtocol) String() string
type InterfaceAddress ¶
type InterfaceAddress interface {
GetInterfaceName() string
// GetIP gets the exposed internet protocol address of the above interface
GetIP(ipProtocol IPProtocol) (string, error)
}
func NewResolvingInterfaceAddress ¶
func NewResolvingInterfaceAddress( interfaceName string, ipResolver Resolver, ) InterfaceAddress
func NewSimpleInterfaceAddress ¶
func NewSimpleInterfaceAddress(interfaceName string, ip string) InterfaceAddress
type InterfaceAddressesProvider ¶
type InterfaceAddressesProvider interface {
Get() ([]InterfaceAddress, error)
}
func NewSystemInterfaceAddressesProvider ¶
func NewSystemInterfaceAddressesProvider() InterfaceAddressesProvider
type InterfaceAddressesValidator ¶
type InterfaceAddressesValidator struct {
// contains filtered or unexported fields
}
func NewInterfaceAddressesValidator ¶
func NewInterfaceAddressesValidator(interfaceAddrsProvider InterfaceAddressesProvider, desiredInterfaceAddresses []InterfaceAddress) InterfaceAddressesValidator
func (InterfaceAddressesValidator) Attempt ¶
func (i InterfaceAddressesValidator) Attempt() (bool, error)
type Resolver ¶
type Resolver interface {
// GetPrimaryIP always returns error unless IPNet is found for given interface
GetPrimaryIP(interfaceName string, ipProtocol IPProtocol) (*gonet.IPNet, error)
}
func NewResolver ¶
func NewResolver(ifaceToAddrsFunc InterfaceToAddrsFunc) Resolver
Source Files
¶
Click to show internal directories.
Click to hide internal directories.