casacore
|
Modules | |
IO_module_internal_classes | |
Internal IO_module classes and functions. | |
Basic classes and global functions for IO and object persistency
See below for an overview of the classes in this module.
This module provides the basic IO functionality for the Casacore classes. There are two IO mechanisms:
Both use the underlying IO framework which define where and how the data are written. The how-part is defined by classes derived from TypeIO as shown in the UML diagram. There are three such classes:
CanonicalIO reads/writes data in canonical (machine-independent) format. This should be used when data are meant to be exportable. It uses the conversion functions in class
The where-part is defined by classes derived from ByteIO as shown in the UML diagram. There are a few such classes:
stdio
system. However, it does not use stdio because that gave problems when doing concurrent access from multiple processes. It can handle files > 2 GB. open, read
to do IO directly. It does not use an internal buffer. Instead it always does physical IO. It is meant for IO operations where large chunks of a file are accessed and for IO on sockets, pipes, etc.. It can handle files > 2 GB. The IO framework is easily expandable. One can for instance think of a class AsciiIO
derived from TypeIO
to hold data in ASCII format. A class RemoteTapeIO
could be developed for IO on a tape device on another node.