package com.zstack.utils.test; import org.junit.Test; import org.zstack.utils.network.NetworkUtils; import java.util.ArrayList; import java.util.List; public class TestFindRandomIp { private List<Long> populateUsedIps(long s1, long e1, int skip) { List<Long> lst1 = new ArrayList<Long>((int) (e1 - s1 + 1)); for (long i=s1; i< e1 - 11 + 1; i ++) { if (i % skip == 0) { continue; } lst1.add(i); } return lst1; } @Test public void test() { long s1 = NetworkUtils.ipv4StringToLong("10.0.0.2"); long e1 = NetworkUtils.ipv4StringToLong("10.255.255.255"); List<Long> al = populateUsedIps(s1, e1, 1000); long s = System.currentTimeMillis(); String ret = NetworkUtils.randomAllocateIpv4Address(NetworkUtils.longToIpv4String(s1), NetworkUtils.longToIpv4String(e1), al); long e = System.currentTimeMillis(); System.out.println(ret); System.out.println(e-s); } }