func()

in lib/rr.go [44:56]


func (rr *roundRobin) SelectServerFromList(list []*DHCPServer, message *DHCPMessage) (*DHCPServer, error) {
	rr.lock.RLock()
	defer rr.lock.RUnlock()

	if len(list) == 0 {
		return nil, errors.New("Server list is empty")
	}
	// no guarantee that lists are the same size, so modulo before incrementing
	rr.iterList = rr.iterList % len(list)
	server := list[rr.iterList]
	rr.iterList++
	return server, nil
}