casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
casa::vi::VlaDatum Class Reference

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
 
VisBufferImplAsync2getVisBuffer ()
 
casacore::Bool isSubchunk (Subchunk) const
 const VisBufferAsync2 * getVisBuffer () const; More...
 
VisBufferImplAsync2releaseVisBufferAsync2 ()
 
void reset ()
 

Private Member Functions

VlaDatumoperator= (const VlaDatum &other)
 Illegal operations. More...
 

Private Attributes

Subchunk subchunk_p
 
VisBufferImplAsync2visBuffer_p
 

Detailed Description

VlaDatum is a single elemement in the VlaDatum buffer ring used to support the VisibilityIterator2Async.

Intended use:

Internal

Review Status

Date Reviewed:
yyyy/mm/dd

Prerequisite

Etymology

VlaDatum is the quantum of data associated with a single position of the visibility look-ahead scheme.

Synopsis

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.

Example

Motivation

Thrown Exceptions

Definition at line 250 of file AsynchronousInterface2.h.

Member Enumeration Documentation

Enumerator
Empty 
Filling 
Full 
Reading 

Definition at line 254 of file AsynchronousInterface2.h.

Constructor & Destructor Documentation

casa::vi::VlaDatum::VlaDatum ( Subchunk  )
casa::vi::VlaDatum::~VlaDatum ( )

Member Function Documentation

Subchunk casa::vi::VlaDatum::getSubchunk ( ) const
VisBufferImplAsync2* casa::vi::VlaDatum::getVisBuffer ( )
casacore::Bool casa::vi::VlaDatum::isSubchunk ( Subchunk  ) const

const VisBufferAsync2 * getVisBuffer () const;

VlaDatum& casa::vi::VlaDatum::operator= ( const VlaDatum other)
private

Illegal operations.

VisBufferImplAsync2* casa::vi::VlaDatum::releaseVisBufferAsync2 ( )
void casa::vi::VlaDatum::reset ( )

Member Data Documentation

Subchunk casa::vi::VlaDatum::subchunk_p
private

Definition at line 271 of file AsynchronousInterface2.h.

VisBufferImplAsync2* casa::vi::VlaDatum::visBuffer_p
private

Definition at line 272 of file AsynchronousInterface2.h.


The documentation for this class was generated from the following file: