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