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 List<String> | 
addToSpecificsFromURL(List<IPPollAddress> specifics,
                     InputStream is,
                     String foreignSource,
                     String location,
                     long timeout,
                     int retries,
                     String url)
addToSpecificsFromURL 
 | 
static List<String> | 
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> | 
getExcludingIterator(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 
 | 
List<Detector> | 
getListOfDetectors(InetAddress inetAddress,
                  String location)  | 
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,
          String location)
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 IOException
IOExceptionpublic DiscoveryConfigFactory(DiscoveryConfiguration config)
public static DiscoveryConfigFactory getInstance()
public Lock getReadLock()
public Lock getWriteLock()
public void reload()
            throws IOException
IOExceptionIOException - Thrown if the specified config file cannot be read/loadedIOException - if any.public DiscoveryConfiguration getConfiguration()
getConfiguration in interface DiscoveryConfigurationFactoryDiscoveryConfiguration object.protected void saveXml(String xml) throws IOException
saveXml
xml - a String object.IOException - if any.public void saveConfiguration(DiscoveryConfiguration configuration) throws IOException
saveConfiguration
configuration - a DiscoveryConfiguration object.IOException - if any.public static List<String> 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 List<String> addToSpecificsFromURL(List<IPPollAddress> specifics, InputStream is, String foreignSource, String location, long timeout, int retries, String url) throws IOException
addToSpecificsFromURL
specifics - a List object.is - a InputStream object.timeout - a long.retries - a int.url - IOException - if any.public List<IPPollAddress> getURLSpecifics()
getURLSpecifics
getURLSpecifics in interface DiscoveryConfigurationFactoryList object.public List<IPPollRange> getRanges()
getRanges
getRanges in interface DiscoveryConfigurationFactoryList object.public List<IPPollAddress> getSpecifics()
getSpecifics
getSpecifics in interface DiscoveryConfigurationFactoryList object.public boolean isExcluded(InetAddress address, String location)
isExcluded
isExcluded in interface DiscoveryConfigurationFactoryaddress - a InetAddress object.location - public String getForeignSource(InetAddress address)
DiscoveryConfigurationFactorygetForeignSource
getForeignSource in interface DiscoveryConfigurationFactoryaddress - InetAddresspublic List<Detector> getListOfDetectors(InetAddress inetAddress, String location)
getListOfDetectors in interface DiscoveryConfigurationFactorypublic double getPacketsPerSecond()
getPacketsPerSecond
getPacketsPerSecond in interface DiscoveryConfigurationFactorypublic long getIntraPacketDelay()
getIntraPacketDelay
getIntraPacketDelay in interface DiscoveryConfigurationFactorypublic Iterator<IPPollAddress> getExcludingIterator(Iterator<IPPollAddress> it)
getExcludingInterator
getExcludingIterator in interface DiscoveryConfigurationFactoryit - 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 DiscoveryConfigurationFactoryIterable object.public long getRestartSleepTime()
getRestartSleepTime
getRestartSleepTime in interface DiscoveryConfigurationFactorypublic long getInitialSleepTime()
getInitialSleepTime
getInitialSleepTime in interface DiscoveryConfigurationFactoryCopyright © 2020. All rights reserved.