28 #ifndef CASA_MULTIFILE_H
29 #define CASA_MULTIFILE_H
131 virtual void fsync();
141 virtual void close();
long long Int64
Define the extra non-standard types used by Casacore (like proposed uSize, Size)
virtual void writeBlock(MultiFileInfo &info, Int64 blknr, const void *buffer)
Write a data block.
Class to combine multiple files in a single one.
Abstract base class to combine multiple files in a single one.
const vector< MultiFileInfo > & info() const
Get the info object (for test purposes mainly).
Helper class for MultiFileBase containing info per internal file.
virtual void reopenRW()
Reopen the underlying file for read/write access.
virtual void doAddFile(MultiFileInfo &)
Do the class-specific actions on adding a file.
virtual void writeHeader()
Write the header info.
virtual void extend(MultiFileInfo &info, Int64 lastblk)
Extend the virtual file to fit lastblk.
virtual void close()
Flush and close the file.
Bool useODirect() const
Will O_DIRECT be used?
Class for unbuffered IO on a file.
virtual ~MultiFile()
The destructor flushes and closes the file.
bool Bool
Define the standard types used by Casacore.
virtual void readBlock(MultiFileInfo &info, Int64 blknr, void *buffer)
Read a data block.
virtual void doDeleteFile(MultiFileInfo &)
Do the class-specific actions on deleting a file.
OpenOption
Define the possible ByteIO open options.
virtual void readHeader(Bool always=True)
Read the header info.
Int64 blockSize() const
Get the block size used.
virtual void flushFile()
Flush the file itself.
String: the storage and methods of handling collections of characters.
virtual void fsync()
Fsync the file (i.e., force the data to be physically written).
MultiFile(const String &name, ByteIO::OpenOption, Int blockSize=0, Bool useODirect=False)
Open or create a MultiFile with the given name.