|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnet.sf.colossus.webserver.PortBookKeeper
public class PortBookKeeper
This class keeps track of which ports are currently occupied by ongoing games and which are free for new games.
Field Summary | |
---|---|
private int |
availablePorts
total nr of free ports according to options file; but only every 2nd is used as a game port |
private int |
freeGamePorts
Nr of ports that are actually currently available for game serving (so, this value == 5 means there can be 5 games) |
private static java.util.logging.Logger |
LOGGER
|
private int |
portRangeFrom
|
private boolean[] |
portUsed
Bookkeeping which (game) ports are currently in use |
Constructor Summary | |
---|---|
PortBookKeeper(int portRangeFrom,
int availablePorts)
|
Method Summary | |
---|---|
private void |
ensureSomeFreePortsRemain()
|
int |
getFreeGamePortsCount()
|
int |
getFreePort(java.lang.String purpose)
|
private void |
reCheckPorts()
|
void |
releasePort(int port,
java.lang.String purpose)
|
private boolean |
testThatPortReallyFree(int port)
Check that it's really free, as expected, log a warning if not |
private boolean |
testWhetherPortFree(int port)
Just check it, whether it's free or not |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private static final java.util.logging.Logger LOGGER
private final int portRangeFrom
private final int availablePorts
private final int freeGamePorts
private final boolean[] portUsed
Constructor Detail |
---|
public PortBookKeeper(int portRangeFrom, int availablePorts)
Method Detail |
---|
public int getFreeGamePortsCount()
public int getFreePort(java.lang.String purpose)
private boolean testThatPortReallyFree(int port)
private boolean testWhetherPortFree(int port)
private void ensureSomeFreePortsRemain()
private void reCheckPorts()
public void releasePort(int port, java.lang.String purpose)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |