catch (IOException e1)
{
log.error(e1);
}
SocketId sid = new SocketId();
int port = sid.getPort();
int maxPort = port + 10;
SocketId.setMaxPort(maxPort);
for (int i = port + 1; i <= maxPort; i++)
new SocketId().releasePort();
sid = new SocketId();
sid.releasePort();
assertTrue(sid.getPort() == port + 1);
for (int i = port + 2; i <= maxPort; i++)
new SocketId().releasePort();
sid = new SocketId();
assertTrue(sid.getPort() == port + 1);
for (int i = port + 2; i <= maxPort; i++)
new SocketId();
class TestThread extends Thread
{
SocketId s;
SocketId getS() {return s;}
public void run()
{
s = new SocketId();
}
};
TestThread t = new TestThread();
t.start();
assertNull(t.getS());
sid.releasePort();
Thread.sleep(1000);
assertTrue(t.getS().getPort() == port + 1);
SocketId.setMaxPort(Integer.MAX_VALUE - 1);
log.info("testSocketIds() PASSES");