# Functions
LookupUsing produces a LookupIP function for the given DNS server.
NewAppClient makes a new appClient.
NewMultiAppClient creates a new MultiAppClient.
NewResolver periodically resolves the targets, and calls the set function with all the resolved IPs.
ParseTargets deals with missing information in the targets string, defaulting the scheme, port etc.
# Structs
ProbeConfig contains all the info needed for a probe to do HTTP requests.
ResolverConfig is the config for a resolver.
Target is a parsed representation of the app location.
# Interfaces
AppClient is a client to an app, dealing with report publishing, controls and pipes.
MultiAppClient maintains a set of upstream apps, and ensures we have an AppClient for each one.
Resolver is a thing that can be stopped...
# Type aliases
ClientFactory is a thing thats makes AppClients.
LookupIP type is used for looking up IPs.