Class MaxQueueSize
- java.lang.Object
-
- adams.core.logging.LoggingObject
-
- adams.core.logging.CustomLoggingLevelObject
-
- adams.core.option.AbstractOptionHandler
-
- adams.flow.standalone.rats.output.enqueue.AbstractEnqueueGuard
-
- adams.flow.standalone.rats.output.enqueue.MaxQueueSize
-
- All Implemented Interfaces:
adams.core.Destroyable
,adams.core.GlobalInfoSupporter
,adams.core.logging.LoggingLevelHandler
,adams.core.logging.LoggingSupporter
,adams.core.option.OptionHandler
,adams.core.SizeOfHandler
,adams.core.Stoppable
,adams.core.StoppableWithFeedback
,Serializable
public class MaxQueueSize extends AbstractEnqueueGuard
Ensures that the queue doesn't exceed the specified size; waits till the queue can accept data again.- Author:
- FracPete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected int
m_Limit
the limit for the queue.protected int
m_Wait
the time in msec to wait between checks.-
Fields inherited from class adams.flow.standalone.rats.output.enqueue.AbstractEnqueueGuard
m_Stopped
-
-
Constructor Summary
Constructors Constructor Description MaxQueueSize()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
defineOptions()
Adds options to the internal list of options.protected String
doEnqueue(adams.flow.control.StorageQueueHandler handler, Object input, long retrievalDelay)
Enqueues the object if possible.int
getLimit()
Returns the maximum allowed queue size.int
getWait()
Returns the time to wait between checks.String
globalInfo()
Returns a string describing the object.String
limitTipText()
Returns the tip text for this property.void
setLimit(int value)
Sets the maximum allowed queue size.void
setWait(int value)
Sets the time to wait between checks.String
waitTipText()
Returns the tip text for this property.-
Methods inherited from class adams.flow.standalone.rats.output.enqueue.AbstractEnqueueGuard
enqueue, enqueue, isStopped, stopExecution
-
Methods inherited from class adams.core.option.AbstractOptionHandler
cleanUpOptions, destroy, finishInit, getDefaultLoggingLevel, getOptionManager, initialize, loggingLevelTipText, newOptionManager, reset, setLoggingLevel, toCommandLine, toString
-
Methods inherited from class adams.core.logging.LoggingObject
configureLogger, getLogger, getLoggingLevel, initializeLogging, isLoggingEnabled, sizeOf
-
-
-
-
Method Detail
-
globalInfo
public String globalInfo()
Returns a string describing the object.- Specified by:
globalInfo
in interfaceadams.core.GlobalInfoSupporter
- Specified by:
globalInfo
in classadams.core.option.AbstractOptionHandler
- Returns:
- a description suitable for displaying in the gui
-
defineOptions
public void defineOptions()
Adds options to the internal list of options.- Specified by:
defineOptions
in interfaceadams.core.option.OptionHandler
- Overrides:
defineOptions
in classadams.core.option.AbstractOptionHandler
-
setLimit
public void setLimit(int value)
Sets the maximum allowed queue size.- Parameters:
value
- the limit, <1 for unlimited
-
getLimit
public int getLimit()
Returns the maximum allowed queue size.- Returns:
- the limit <0 for unlimited
-
limitTipText
public String limitTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setWait
public void setWait(int value)
Sets the time to wait between checks.- Parameters:
value
- the time (msec)
-
getWait
public int getWait()
Returns the time to wait between checks.- Returns:
- the time (msec)
-
waitTipText
public String waitTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
doEnqueue
protected String doEnqueue(adams.flow.control.StorageQueueHandler handler, Object input, long retrievalDelay)
Enqueues the object if possible.- Specified by:
doEnqueue
in classAbstractEnqueueGuard
- Parameters:
handler
- the queue to useinput
- the data to queueretrievalDelay
- the retrieval delay to impose- Returns:
- null if successful, otherwise error message
-
-