casa
5.7.0-16
|
VlaDatum is a single elemement in the VlaDatum buffer ring used to support the VisibilityIterator2Async. More...
#include <AsynchronousInterface2.h>
Public Types | |
enum | State { Empty, Filling, Full, Reading } |
Public Member Functions | |
VlaDatum (Subchunk) | |
~VlaDatum () | |
Subchunk | getSubchunk () const |
VisBufferImplAsync2 * | getVisBuffer () |
casacore::Bool | isSubchunk (Subchunk) const |
const VisBufferAsync2 * getVisBuffer () const; More... | |
VisBufferImplAsync2 * | releaseVisBufferAsync2 () |
void | reset () |
Private Member Functions | |
VlaDatum & | operator= (const VlaDatum &other) |
Illegal operations. More... | |
Private Attributes | |
Subchunk | subchunk_p |
VisBufferImplAsync2 * | visBuffer_p |
VlaDatum is a single elemement in the VlaDatum buffer ring used to support the VisibilityIterator2Async.
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 VisibilityIterator2. 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 250 of file AsynchronousInterface2.h.
Enumerator | |
---|---|
Empty | |
Filling | |
Full | |
Reading |
Definition at line 254 of file AsynchronousInterface2.h.
casa::vi::VlaDatum::VlaDatum | ( | Subchunk | ) |
casa::vi::VlaDatum::~VlaDatum | ( | ) |
Subchunk casa::vi::VlaDatum::getSubchunk | ( | ) | const |
VisBufferImplAsync2* casa::vi::VlaDatum::getVisBuffer | ( | ) |
casacore::Bool casa::vi::VlaDatum::isSubchunk | ( | Subchunk | ) | const |
const VisBufferAsync2 * getVisBuffer () const;
VisBufferImplAsync2* casa::vi::VlaDatum::releaseVisBufferAsync2 | ( | ) |
void casa::vi::VlaDatum::reset | ( | ) |
|
private |
Definition at line 271 of file AsynchronousInterface2.h.
|
private |
Definition at line 272 of file AsynchronousInterface2.h.