public class DiscoveryConfigFactory extends Object implements DiscoveryConfigurationFactory
Modifier and Type | Field and Description |
---|---|
static char |
COMMENT_CHAR |
static String |
COMMENT_STR |
static int |
DEFAULT_CHUNK_SIZE |
static int |
DEFAULT_INITIAL_SLEEP_TIME |
static double |
DEFAULT_PACKETS_PER_SECOND |
static int |
DEFAULT_RESTART_SLEEP_TIME |
static int |
DEFAULT_RETRIES |
static long |
DEFAULT_TIMEOUT |
Constructor and Description |
---|
DiscoveryConfigFactory() |
DiscoveryConfigFactory(DiscoveryConfiguration config) |
Modifier and Type | Method and Description |
---|---|
static boolean |
addToSpecificsFromURL(List<IPPollAddress> specifics,
InputStream is,
String foreignSource,
String location,
long timeout,
int retries)
addToSpecificsFromURL
|
static boolean |
addToSpecificsFromURL(List<IPPollAddress> specifics,
String url,
String foreignSource,
String location,
long timeout,
int retries)
The file URL is read and a 'specific IP' is added for each entry
in this file.
|
DiscoveryConfiguration |
getConfiguration()
Return the discovery configuration object.
|
Iterable<IPPollAddress> |
getConfiguredAddresses()
getConfiguredAddresses
|
Iterator<IPPollAddress> |
getExcludingInterator(Iterator<IPPollAddress> it)
getExcludingInterator
|
String |
getForeignSource(InetAddress address)
getForeignSource
|
long |
getInitialSleepTime()
getInitialSleepTime
|
static DiscoveryConfigFactory |
getInstance()
Deprecated.
Inject this value instead of using singleton access.
|
long |
getIntraPacketDelay()
getIntraPacketDelay
|
double |
getPacketsPerSecond()
getPacketsPerSecond
|
List<IPPollRange> |
getRanges()
getRanges
|
Lock |
getReadLock() |
long |
getRestartSleepTime()
getRestartSleepTime
|
List<IPPollAddress> |
getSpecifics()
getSpecifics
|
List<IPPollAddress> |
getURLSpecifics()
getURLSpecifics
|
Lock |
getWriteLock() |
boolean |
isExcluded(InetAddress address)
isExcluded
|
void |
reload()
Reload the config from the default config file.
|
void |
saveConfiguration(DiscoveryConfiguration configuration)
saveConfiguration
|
protected void |
saveXml(String xml)
saveXml
|
public static final String COMMENT_STR
public static final char COMMENT_CHAR
public static final double DEFAULT_PACKETS_PER_SECOND
public static final int DEFAULT_INITIAL_SLEEP_TIME
public static final int DEFAULT_RESTART_SLEEP_TIME
public static final int DEFAULT_RETRIES
public static final long DEFAULT_TIMEOUT
public static final int DEFAULT_CHUNK_SIZE
public DiscoveryConfigFactory() throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException, IOException
org.exolab.castor.xml.MarshalException
org.exolab.castor.xml.ValidationException
IOException
public DiscoveryConfigFactory(DiscoveryConfiguration config)
public static DiscoveryConfigFactory getInstance()
public Lock getReadLock()
public Lock getWriteLock()
public void reload() throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException, IOException
MarshalException,
- ValidationException, IOExceptionIOException
- Thrown if the specified config file cannot be read/loadedorg.exolab.castor.xml.MarshalException
- Thrown if the file does not conform to the schema.org.exolab.castor.xml.ValidationException
- Thrown if the contents do not match the required schema.IOException
- if any.org.exolab.castor.xml.MarshalException
- if any.org.exolab.castor.xml.ValidationException
- if any.public DiscoveryConfiguration getConfiguration()
getConfiguration
in interface DiscoveryConfigurationFactory
DiscoveryConfiguration
object.protected void saveXml(String xml) throws IOException
saveXml
xml
- a String
object.IOException
- if any.public void saveConfiguration(DiscoveryConfiguration configuration) throws org.exolab.castor.xml.MarshalException, org.exolab.castor.xml.ValidationException, IOException
saveConfiguration
configuration
- a DiscoveryConfiguration
object.org.exolab.castor.xml.MarshalException
- if any.org.exolab.castor.xml.ValidationException
- if any.IOException
- if any.public static boolean addToSpecificsFromURL(List<IPPollAddress> specifics, String url, String foreignSource, String location, long timeout, int retries)
The file URL is read and a 'specific IP' is added for each entry in this file. Each line in the URL file can be one of - <IP><space>#<comments> or <IP> or #<comments> Lines starting with a '#' are ignored and so are characters after a '<space>#' in a line.
specifics
- the list to add tourl
- the URL filetimeout
- the timeout for all entries in this URLretries
- the retries for all entries in this URLpublic static boolean addToSpecificsFromURL(List<IPPollAddress> specifics, InputStream is, String foreignSource, String location, long timeout, int retries) throws IOException
addToSpecificsFromURL
specifics
- a List
object.is
- a InputStream
object.timeout
- a long.retries
- a int.IOException
- if any.public List<IPPollAddress> getURLSpecifics()
getURLSpecifics
getURLSpecifics
in interface DiscoveryConfigurationFactory
List
object.public List<IPPollRange> getRanges()
getRanges
getRanges
in interface DiscoveryConfigurationFactory
List
object.public List<IPPollAddress> getSpecifics()
getSpecifics
getSpecifics
in interface DiscoveryConfigurationFactory
List
object.public boolean isExcluded(InetAddress address)
isExcluded
isExcluded
in interface DiscoveryConfigurationFactory
address
- a InetAddress
object.public String getForeignSource(InetAddress address)
DiscoveryConfigurationFactory
getForeignSource
getForeignSource
in interface DiscoveryConfigurationFactory
public double getPacketsPerSecond()
getPacketsPerSecond
getPacketsPerSecond
in interface DiscoveryConfigurationFactory
public long getIntraPacketDelay()
getIntraPacketDelay
getIntraPacketDelay
in interface DiscoveryConfigurationFactory
public Iterator<IPPollAddress> getExcludingInterator(Iterator<IPPollAddress> it)
getExcludingInterator
getExcludingInterator
in interface DiscoveryConfigurationFactory
it
- a Iterator
object.Iterator
object.public Iterable<IPPollAddress> getConfiguredAddresses()
getConfiguredAddresses
TODO: This function is inefficient. It has O(n^2) complexity based on the product of the include ranges and exclude ranges. This might cause problems if users are using a large number of excluded ranges.getConfiguredAddresses
in interface DiscoveryConfigurationFactory
Iterable
object.public long getRestartSleepTime()
getRestartSleepTime
getRestartSleepTime
in interface DiscoveryConfigurationFactory
public long getInitialSleepTime()
getInitialSleepTime
getInitialSleepTime
in interface DiscoveryConfigurationFactory
Copyright © 2017. All rights reserved.