[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

changes to QE



Here is a list of recent changes to the QE and related codes.
I will explain class LineDB in another email. It is the class that I use
for recovery.

 - Henrik

***********************************************************************
* class qe
*
* QE ported to Win32 and tested on Windows NT.

* Uses ORBacus as default ORB instead of Orbix (make ORBIX=1, 
will compile with Orbix)

* QE now expects users to call selectComponents() before calling
execute() or doFullEstimate().

* There have been internal changes to accomodate the use of multiple 
components.

* QE's IDL interface now includes getFileSize(FID_T), that returns
the file size of any file know to the QE through the index.

* QE now uses class LineDB to recover after crashes

***********************************************************************
* class Config
*
* class Config: added method bool is_true(name), which returns
true if "name" is defined and is equal to true, yes, 1, or defined.

* class Config: added extra bool parameter to ctor that, if false,
prohibits reading of configuration file in ctor. The intent is
that the user later calls readConfig(filename) explicitly. This
change was made so that the programmer can have a global instance
of class Config, and provide the configuration filename in main(),
when argv[] is available to provide it. Having an instance of the
class instead of a pointer to it makes the code nicer:

Config config("qe",0,false); // note the two extra arguments
...
config.readConfig(argv[1]);  // if the first arg is the config filename
if( !config.is_ok() )        // check if configuration was read correctly
	config.readConfig();     // use default file "./gc.config"
if( !config.is_ok() ) ...    // handle error
...
if( config.is_true("EnableLog") ) logger = new Logger(config["QELogFile"]);

See estimator_i.cpp and qe_i.cpp for examples of uses of class Config.
Note the change from config->getValue("QELogFile") to 
config["QELogFile"], etc.. 
(getValue() is inlined and calls operator[](char*))

***********************************************************************
* class LineDB
*
* class LineDB is a new class which helps with storing information
	that is necessary for recovery after a crash
* see linedb.cpp in CVS/common for usage

_________________________________________
Henrik Nordberg       <hnordberg@lbl.gov>
Scientific Data Management Research Group
Lawrence Berkeley National Laboratory