VlaDatum is a single elemement in the VlaDatum buffer ring used to support the ROVisibilityIteratorAsync. More...
#include <AsynchronousInterface.h>
Public Types | |
| enum | State { Empty, Filling, Full, Reading } |
Public Member Functions | |
| VlaDatum (SubChunkPair) | |
| ~VlaDatum () | |
| SubChunkPair | getSubChunkPair () const |
| VisBufferAsync * | getVisBuffer () |
| Bool | isSubChunk (SubChunkPair) const |
| const VisBufferAsync * getVisBuffer () const; | |
| VisBufferAsync * | releaseVisBufferAsync () |
| void | reset () |
Private Member Functions | |
| VlaDatum & | operator= (const VlaDatum &other) |
| Illegal operations. | |
Private Attributes | |
| SubChunkPair | subchunk_p |
| VisBufferAsync * | visBuffer_p |
VlaDatum is a single elemement in the VlaDatum buffer ring used to support the ROVisibilityIteratorAsync.
Internal
VlaDatum is the quantum of data associated with a single position of the visibility look-ahead scheme.
VlaDatum is a single buffer for data produced by the VLAT thread and consumed by the main thread. A collection of VlaDatum objects is organized as a buffer ring in a VlaData object.
A VlaDatum object is responsible for maintaining its state as well as containing the set of data accessed from a single position of a ROVisibilityIterator. It contains a VisibilityBufferAsync object to hold the data that will be used by the main thread; other data is maintained in member variables.
VlaDatum has no concurrency mechanisms built in it; that is handled by the VlaData object. It does support a set of states that indicate its current use: Empty -> Filling -> Full -> Reading -> Empty. Changing state is accomplished by the methods fillStart, fillComplete, readStart and readComplete.
Definition at line 252 of file AsynchronousInterface.h.
Definition at line 256 of file AsynchronousInterface.h.
| casa::asyncio::VlaDatum::VlaDatum | ( | SubChunkPair | ) |
| casa::asyncio::VlaDatum::~VlaDatum | ( | ) |
| SubChunkPair casa::asyncio::VlaDatum::getSubChunkPair | ( | ) | const |
| VisBufferAsync* casa::asyncio::VlaDatum::getVisBuffer | ( | ) |
| Bool casa::asyncio::VlaDatum::isSubChunk | ( | SubChunkPair | ) | const |
const VisBufferAsync * getVisBuffer () const;
Illegal operations.
| VisBufferAsync* casa::asyncio::VlaDatum::releaseVisBufferAsync | ( | ) |
| void casa::asyncio::VlaDatum::reset | ( | ) |
Definition at line 273 of file AsynchronousInterface.h.
Definition at line 274 of file AsynchronousInterface.h.
1.6.1