Package org.vast.process
Class DataQueue
java.lang.Object
org.vast.process.DataConnection
org.vast.process.DataQueue
- All Implemented Interfaces:
IDataConnection
A data queue is used to send data between processes. It is synchronized to support processes in different threads, even on different computers (grid computing). Each element in the queue is called a data block. The queue can also send status values and events.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.vast.process.DataConnection
DataConnection.ComponentConverter
-
Field Summary
FieldsFields inherited from class org.vast.process.DataConnection
componentConverters, dataAvailable, destinationChoice, destinationChoiceIdx, destinationComponent, destinationProcess, properties, sourceComponent, sourceProcess
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
clear()
Clear all remaining data on this connectionint
boolean
void
Publish data from source component on this connectionboolean
transferData
(boolean block) Transfer data to destination componentMethods inherited from class org.vast.process.DataConnection
getDestinationComponent, getDestinationPort, getDestinationProcess, getProperty, getSourceComponent, getSourcePort, getSourceProcess, getUnitConverter, setDestination, setProperty, setSource, setupUnitConverters, validate, validateArray, validateScalar
-
Field Details
-
queue
-
-
Constructor Details
-
DataQueue
public DataQueue()
-
-
Method Details
-
publishData
Description copied from interface:IDataConnection
Publish data from source component on this connection- Specified by:
publishData
in interfaceIDataConnection
- Overrides:
publishData
in classDataConnection
- Throws:
InterruptedException
- if interrupted while waiting
-
transferData
Description copied from interface:IDataConnection
Transfer data to destination component- Specified by:
transferData
in interfaceIDataConnection
- Overrides:
transferData
in classDataConnection
- Parameters:
block
- Set to true if processing should wait until data is available on this connection, false if processing should continue without it- Returns:
- True if data was actually transferred, false otherwise
- Throws:
InterruptedException
- if interrupted while waiting
-
clear
public void clear()Description copied from interface:IDataConnection
Clear all remaining data on this connection- Specified by:
clear
in interfaceIDataConnection
- Overrides:
clear
in classDataConnection
-
isDataAvailable
public boolean isDataAvailable()- Specified by:
isDataAvailable
in interfaceIDataConnection
- Overrides:
isDataAvailable
in classDataConnection
- Returns:
- true if data is available (i.e. ready to be transfered) on this connection
-
getQueueSize
public int getQueueSize()
-