/* Web Polygraph http://www.web-polygraph.org/ * (C) 2003-2006 The Measurement Factory * Licensed under the Apache License, Version 2.0 */ #include "base/polygraph.h" #include "xstd/Clock.h" #include "base/OLog.h" #include "base/ILog.h" #include "base/Progress.h" Progress TheProgress; Progress::Progress() { theXactCnt = theSslXactCnt = theErrCnt = 0; } Time Progress::time() const { return theTimestamp < 0 ? TheClock.time() : theTimestamp; } void Progress::store(OLog &ol) const { ol << TheClock.time() << theXactCnt << theSslXactCnt << theErrCnt; } void Progress::load(ILog &il) { il >> theTimestamp >> theXactCnt >> theSslXactCnt >> theErrCnt; } ostream &Progress::print(ostream &os) const { os << theXactCnt << ':'; if (theTimestamp < 0) os << (TheClock - Clock::TheStartTime); else os << (theTimestamp - Clock::TheStartTime); return os << ':' << theErrCnt; }