28 #ifndef CASA_BUCKETBASE_H
29 #define CASA_BUCKETBASE_H
File object for BucketCache.
virtual void resync(uInt nrBucket)
Resynchronize the object (after another process updated the file).
long long Int64
Define the extra non-standard types used by Casacore (like proposed uSize, Size)
BucketFile * itsFile
The file used.
BucketBase & operator=(const BucketBase &)
Assignment is not possible.
uInt itsNewNrOfBuckets
The new nr of buckets in the file (after extension).
virtual void doFlush()=0
Do the actual flushing.
uInt nBucket() const
Get the current nr of buckets in the file.
void setWritten()
Set that data has been written.
virtual void doResync()=0
Do the actual resync-ing.
Bool flush()
Flush the cached buckets.
BucketBase(BucketFile *file, Int64 startOffset, uInt bucketSize, uInt nrOfBuckets)
Create the bucket access for (part of) a file.
virtual void initializeBuckets(uInt bucketNr)=0
Initialize the bucket buffer.
virtual void doExtend(uInt nrBucket)=0
Do the actual extension of the file.
bool Bool
Define the standard types used by Casacore.
uInt itsBucketSize
The bucket size.
Bool itsHasWritten
Have data been written?
Int64 itsStartOffset
The starting offsets of the buckets in the file.
uInt itsCurNrOfBuckets
The current nr of buckets in the file.
virtual ~BucketBase()
Detach the file.
Abstract base class for Bucket classes.
void extend(uInt nrBucket)
Extend the file with the given number of buckets.