[Pypersyst-cvs] pypersyst/pypersyst/engine engine.py,1.1,1.2
Brought to you by:
pobrien
From: <po...@us...> - 2003-08-26 17:50:03
|
Update of /cvsroot/pypersyst/pypersyst/pypersyst/engine In directory sc8-pr-cvs1:/tmp/cvs-serv763/engine Modified Files: engine.py Log Message: Changed server.py to database.py, and system to root. Exposed root. Index: engine.py =================================================================== RCS file: /cvsroot/pypersyst/pypersyst/pypersyst/engine/engine.py,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** engine.py 23 Aug 2003 23:46:25 -0000 1.1 --- engine.py 26 Aug 2003 17:49:35 -0000 1.2 *************** *** 1,3 **** ! """Engine module""" __author__ = "Patrick K. O'Brien <po...@or...>" --- 1,3 ---- ! """Engine class.""" __author__ = "Patrick K. O'Brien <po...@or...>" *************** *** 12,26 **** """Engine class.""" ! def __init__(self, storage=None, system=None, start=True): """Create an Engine instance. storage is an instance of a storage class ! system is any persistable object, or a callable returning one if start is False, the engine is not initially started""" self._running = False self._storage = storage ! self._system = None if start: ! self.start(storage, system) def running(self): --- 12,30 ---- """Engine class.""" ! def __init__(self, storage=None, root=None, start=True): """Create an Engine instance. storage is an instance of a storage class ! root is any persistable object, or a callable returning one if start is False, the engine is not initially started""" self._running = False self._storage = storage ! self._root = None if start: ! self.start(storage, root) ! ! def root(self): ! """Return the root object.""" ! return self._root def running(self): *************** *** 28,32 **** return self._running ! def start(self, storage, system): """Start the engine.""" if self.running(): --- 32,36 ---- return self._running ! def start(self, storage, root): """Start the engine.""" if self.running(): *************** *** 34,42 **** if storage is None: raise ValueError, 'storage cannot be None' ! if system is None: ! raise ValueError, 'system cannot be None' self._running = True callback = self._apply ! self._clock, self._system = storage.load(callback, Clock, system) self._storage = storage self._clock.resume() --- 38,46 ---- if storage is None: raise ValueError, 'storage cannot be None' ! if root is None: ! raise ValueError, 'root cannot be None' self._running = True callback = self._apply ! self._clock, self._root = storage.load(callback, Clock, root) self._storage = storage self._clock.resume() *************** *** 49,65 **** self._clock.pause() self._storage.close() ! self._system = None self._running = False def dump(self): ! """Write the system to storage.""" if not self.running(): raise RuntimeError, 'engine is stopped' self._clock.pause() ! self._storage.dump(self._clock, self._system) self._clock.resume() def execute(self, transaction): ! """Log the transaction, then execute it on the system.""" if not self.running(): raise RuntimeError, 'engine is stopped' --- 53,69 ---- self._clock.pause() self._storage.close() ! self._root = None self._running = False def dump(self): ! """Dump the root object to storage.""" if not self.running(): raise RuntimeError, 'engine is stopped' self._clock.pause() ! self._storage.dump(self._clock, self._root) self._clock.resume() def execute(self, transaction): ! """Log the transaction, then execute it.""" if not self.running(): raise RuntimeError, 'engine is stopped' *************** *** 69,73 **** try: self._log(transaction, time) ! return transaction.execute(self._system) finally: clock.resume() --- 73,77 ---- try: self._log(transaction, time) ! return transaction.execute(self._root) finally: clock.resume() *************** *** 78,89 **** self._storage.log(transaction) ! def _apply(self, transaction, clock, system): ! """Apply transactions from the log to the system.""" clock.recover(transaction._time) try: ! transaction.execute(system) except: pass - - - --- 82,90 ---- self._storage.log(transaction) ! def _apply(self, transaction, clock, root): ! """Apply transactions from the log.""" clock.recover(transaction._time) try: ! transaction.execute(root) except: pass |