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::asyncio::VlaDatum Class Reference

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
 
VisBufferAsyncgetVisBuffer ()
 
casacore::Bool isSubChunk (SubChunkPair) const
 const VisBufferAsync * getVisBuffer () const; More...
 
VisBufferAsyncreleaseVisBufferAsync ()
 
void reset ()
 

Private Member Functions

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

Private Attributes

SubChunkPair subchunk_p
 
VisBufferAsyncvisBuffer_p
 

Detailed Description

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

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 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.

Example

Motivation

Thrown Exceptions

Definition at line 252 of file AsynchronousInterface.h.

Member Enumeration Documentation

Enumerator
Empty 
Filling 
Full 
Reading 

Definition at line 256 of file AsynchronousInterface.h.

Constructor & Destructor Documentation

casa::asyncio::VlaDatum::VlaDatum ( SubChunkPair  )
casa::asyncio::VlaDatum::~VlaDatum ( )

Member Function Documentation

SubChunkPair casa::asyncio::VlaDatum::getSubChunkPair ( ) const
VisBufferAsync* casa::asyncio::VlaDatum::getVisBuffer ( )
casacore::Bool casa::asyncio::VlaDatum::isSubChunk ( SubChunkPair  ) const

const VisBufferAsync * getVisBuffer () const;

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

Illegal operations.

VisBufferAsync* casa::asyncio::VlaDatum::releaseVisBufferAsync ( )
void casa::asyncio::VlaDatum::reset ( )

Member Data Documentation

SubChunkPair casa::asyncio::VlaDatum::subchunk_p
private

Definition at line 273 of file AsynchronousInterface.h.

VisBufferAsync* casa::asyncio::VlaDatum::visBuffer_p
private

Definition at line 274 of file AsynchronousInterface.h.


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