Exemplo n.º 1
0
func (p *InstancePortTable) nextHost(host net.IP, from port.Port) port.HostPort {
	key := port.HostPort{host.String(), from}
	for {
		if _, ok := p.reserved[key]; !ok {
			p.reserved[key] = true
			return key
		}
		last := len(host) - 1
		host[last]++
		if host[last] == 255 {
			host[last-1]++
			host[last] = 1
		}
		key.Host = host.String()
	}
	panic("Unable to locate a valid host")
}