func (c *configInternal) SetAPIHostPorts(servers [][]instance.HostPort) { if c.apiDetails == nil { return } var addrs []string for _, serverHostPorts := range servers { addr := instance.SelectInternalHostPort(serverHostPorts, false) if addr != "" { addrs = append(addrs, addr) } } c.apiDetails.addresses = addrs }
// APIAddresses returns the list of addresses used to connect to the API. func (api *APIAddresser) APIAddresses() (params.StringsResult, error) { apiHostPorts, err := api.getter.APIHostPorts() if err != nil { return params.StringsResult{}, err } var addrs = make([]string, 0, len(apiHostPorts)) for _, hostPorts := range apiHostPorts { addr := instance.SelectInternalHostPort(hostPorts, false) if addr != "" { addrs = append(addrs, addr) } } return params.StringsResult{ Result: addrs, }, nil }
// SelectPeerHostPort returns the HostPort to use as the // mongo replica set peer by selecting it from the given hostPorts. func SelectPeerHostPort(hostPorts []instance.HostPort) string { return instance.SelectInternalHostPort(hostPorts, false) }