/* Web Polygraph       http://www.web-polygraph.org/
 * (C) 2003-2006 The Measurement Factory
 * Licensed under the Apache License, Version 2.0 */

#ifndef POLYGRAPH__PROXY_PXYCLTXACT_H
#define POLYGRAPH__PROXY_PXYCLTXACT_H

#include "client/CltXact.h"
#include "cache/Cache.h"

class PxyCltXact: public CltXact, public CacheWriter {
	public:
		PxyCltXact() { PxyCltXact::reset(); }
		virtual void reset();

		virtual const RepHdr *origRepHdrs() const;
		virtual const UniqId &reqId() const;

		virtual void noteReaderLeft();

		virtual void cacheDistrPoint(DistrPoint *dp);
		virtual void noteAbort();

	protected:
		virtual void makeEndToEndHdrs(ostream &os);
		virtual void consume(Size size);
		virtual void firstHandSync();
		virtual void newState(State aState);

		Cache *cache();
};

#endif



syntax highlighted by Code2HTML, v. 0.9.1