package com.zstack.utils.test;
import junit.framework.Assert;
import org.junit.Before;
import org.junit.Test;
import org.zstack.utils.network.NetworkUtils;
public class TestExtremeIpFinding {
private String startIp = "10.0.0.0";
private String gapIp = "10.255.255.253";
private String endIp = "10.255.255.255";
@Before
public void setUp() throws Exception {
long s = NetworkUtils.ipv4StringToLong(startIp);
long g = NetworkUtils.ipv4StringToLong(gapIp);
Long[] ips = new Long[(int) (g-s+2)];
for (long i=s; i<g+1; i++) {
ips[(int) (i-s)] = i;
}
ips[ips.length-1] = NetworkUtils.ipv4StringToLong(endIp);
long st = System.currentTimeMillis();
String ip = NetworkUtils.findFirstAvailableIpv4Address(startIp, endIp, ips);
long et = System.currentTimeMillis();
System.out.println(String.format("Finding ip[%s] using %s ms", ip, et - st));
Assert.assertEquals("10.255.255.254", ip);
}
@Test
public void test() {
}
}