casacore
|
#include <StorageOption.h>
Public Types | |
enum | Option { MultiFile , MultiHDF5 , SepFile , Default , Aipsrc } |
Define the possible options how table files are organized. More... | |
Public Member Functions | |
StorageOption (Option option=Aipsrc, Int blockSize=-2, Int useODirect=-3) | |
Create an option object. More... | |
void | fillOption () |
Fill the option in case Aipsrc or Default was given. More... | |
Option | option () const |
Get the option. More... | |
void | setOption (Option option) |
Set the option. More... | |
uInt | blockSize () const |
Get the block size (in bytes). More... | |
void | setBlockSize (Int blockSize) |
Set the block size (in bytes). More... | |
Bool | useODirect () const |
Get the O_DIRECT option. More... | |
void | setUseODirect (Bool useODirect) |
Set the O_DIRECT option. More... | |
Private Attributes | |
Option | itsOption |
Int | itsBlockSize |
Bool | itsUseODirect |
Bool | itsUseAipsrcODirect |
Options defining how table files are organized
Public interface
This class can be used to define how the files of a table are organized. There are two ways:
It is possible to specify the storage type and block size using aipsrc. The aipsrc variables are:
table.storage.option
. The (case-insensitive) value can be 'multifile' or 'multihdf5'. Another value means the old way (separate files). table.storage.blocksize
gives the default blocksize to be used for the multifile and multihdf5 option. table.storage.odirect
can be true or false. It tells if the O_DIRECT option has to be used to let the kernel bypass its filecache for more predictable I/O behaviour. It's only used for MultiFile and only if the OS supports O_DIRECT. Definition at line 76 of file StorageOption.h.
Define the possible options how table files are organized.
Enumerator | |
---|---|
MultiFile | Let storage managers use a combined MultiFile. |
MultiHDF5 | Let storage managers use a combined MultiHDF5. |
SepFile | Let storage managers use separate files. |
Default | Use default (currently SepFile). |
Aipsrc | Use as defined in the aipsrc file. |
Definition at line 80 of file StorageOption.h.
casacore::StorageOption::StorageOption | ( | Option | option = Aipsrc , |
Int | blockSize = -2 , |
||
Int | useODirect = -3 |
||
) |
Create an option object.
The parameter values are described in the synopsis. The blocksize has to be given in bytes. A size value -2 means reading that size from the aipsrc file. A size value -1 means use the default of 4*1024*1024.
useODirect<0 means reading the option from the aipsrc file. It is only set if the OS supports O_DIRECT.
|
inline |
Get the block size (in bytes).
Definition at line 115 of file StorageOption.h.
References itsBlockSize.
Referenced by setBlockSize().
void casacore::StorageOption::fillOption | ( | ) |
Fill the option in case Aipsrc or Default was given.
It is done as explained in the synopsis.
|
inline |
Get the option.
Definition at line 107 of file StorageOption.h.
References itsOption.
Referenced by setOption().
|
inline |
Set the block size (in bytes).
Definition at line 119 of file StorageOption.h.
References blockSize(), and itsBlockSize.
|
inline |
void casacore::StorageOption::setUseODirect | ( | Bool | useODirect | ) |
Set the O_DIRECT option.
It is only set if the OS supports O_DIRECT.
|
inline |
|
private |
Definition at line 132 of file StorageOption.h.
Referenced by blockSize(), and setBlockSize().
|
private |
Definition at line 131 of file StorageOption.h.
Referenced by option(), and setOption().
|
private |
Definition at line 134 of file StorageOption.h.
|
private |
Definition at line 133 of file StorageOption.h.
Referenced by useODirect().