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 TypeMethodDescriptionvoidclear()Clear all remaining data on this connectionintbooleanvoidPublish data from source component on this connectionbooleantransferData(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:IDataConnectionPublish data from source component on this connection- Specified by:
publishDatain interfaceIDataConnection- Overrides:
publishDatain classDataConnection- Throws:
InterruptedException- if interrupted while waiting
-
transferData
Description copied from interface:IDataConnectionTransfer data to destination component- Specified by:
transferDatain interfaceIDataConnection- Overrides:
transferDatain 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:IDataConnectionClear all remaining data on this connection- Specified by:
clearin interfaceIDataConnection- Overrides:
clearin classDataConnection
-
isDataAvailable
public boolean isDataAvailable()- Specified by:
isDataAvailablein interfaceIDataConnection- Overrides:
isDataAvailablein classDataConnection- Returns:
- true if data is available (i.e. ready to be transfered) on this connection
-
getQueueSize
public int getQueueSize()
-